0

场景:一个应用程序的启动器中显示了两个活动,它们具有不同的 taskAffinities,因为我遇到了当我打开一个,回家,打开另一个,第一个会打开的问题。因此,我在 AndroidManifest 中添加了 taskAffinity 以执行正确的任务。

我遇到的问题是,如果我打开一个,点击主页,点击第二个,它将打开正确的任务/活动,但我必须点击图标两次才能打开并获取,仅此发生在指定 taskAffinity 的活动中,另一个在每次第一次单击时打开就好了。

731-1337/? W/InputMethodManagerService﹕ Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@4e640b6 attribute=null, token = android.os.BinderProxy@3edac0ca

这是清单

<activity
        android:name=".firstActivity"
        android:theme="@android:style/Theme.Holo.Light.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
</activity>

<activity
            android:name=".secondActivity"
            android:label="@string/second_activity"
            android:icon="@drawable/ic_second_activity"
            android:taskAffinity="secondTask"
            android:theme="@android:style/Theme.Holo.Light.NoActionBar">

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
</activity>
<activity android:name=".thirdActivity"
              android:label="@string/second_activity"
              android:taskAffinity="secondTask"
              android:theme="@android:style/Theme.Holo.Light.NoActionBar"/>
4

1 回答 1

0

我通过将其添加到 secondActivity 在启动时立即调用的 thirdActivty 来解决此问题。

              android:launchMode="singleTask"

所以它最终看起来像

<activity android:name=".thirdActivity"
          android:label="@string/second_activity"
          android:taskAffinity="secondTask"
          android:launchMode="singleTask"
          android:theme="@android:style/Theme.Holo.Light.NoActionBar"/>

希望有人觉得这个解决方案有帮助。

于 2015-04-21T19:18:18.753 回答