Android活动错误地重新设置应用程序任务的父级
我有一个应用程序,它具有大多数活动的常规任务行为,但它也有一个活动需要启动到创建它的任务上 此活动是从mime类型启动的。如果其他应用程序启动该活动,则该活动应显示在同一任务中。但是,活动始终被重新设置为其应用程序任务的父级。尽管将Android活动错误地重新设置应用程序任务的父级,android,android-intent,android-activity,android-manifest,android-task,Android,Android Intent,Android Activity,Android Manifest,Android Task,我有一个应用程序,它具有大多数活动的常规任务行为,但它也有一个活动需要启动到创建它的任务上 此活动是从mime类型启动的。如果其他应用程序启动该活动,则该活动应显示在同一任务中。但是,活动始终被重新设置为其应用程序任务的父级。尽管将allowtaskreeting显式设置为false,但仍然存在这种情况 当应用程序中没有其他活动时,该活动将在其启动的任务中正确启动。它仅在任务中存在应用程序的其他活动时才重新生成父级 我如何使活动仅在其启动的活动之上启动,与同一应用程序的其他活动分开?以下是And
allowtaskreeting
显式设置为false
,但仍然存在这种情况
当应用程序中没有其他活动时,该活动将在其启动的任务中正确启动。它仅在任务中存在应用程序的其他活动时才重新生成父级
我如何使活动仅在其启动的活动之上启动,与同一应用程序的其他活动分开?以下是AndroidManifest.xml的相关部分:
<activity
android:name="com.matthewmitchell.peercoin_android_wallet.ui.RestoreWalletActivity"
android:configChanges="orientation|keyboard|keyboardHidden"
android:theme="@style/My.Theme.Dialog"
android:allowTaskReparenting="false" >
<intent-filter android:label="@string/import_keys_intent_filter_action" >
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="application/x-peercoin-wallet-backup" />
<data android:mimeType="application/octet-stream" />
</intent-filter>
</activity>
您必须在清单的
标记中设置android:taskafinity=“
。如果没有,则活动
将具有默认的任务关联
,这与应用程序中的所有其他活动相同。将taskAffinity
设置为空字符串会告诉Android该活动不希望出现在任何特定任务中
这没有很好的文档记录,但是taskafinity
胜过大多数其他设置。Android将始终尝试查找具有相同taskafinity
的任务,以启动活动
。谢谢。你说得对。将关联设置为活动的名称效果很好。当使用标记\活动\新建\任务
时,文档确实说明活动已添加到具有指定关联的任务中。有趣的是,我现在认为我希望活动在主应用程序任务中启动,但我确信这将帮助其他一些人。如果设置了android:taskAffinity=“”,并使用FLAG\u activity\u NEW\u task启动活动。那么新活动是在新任务中打开还是在同一任务中打开?根据android文档,此类活动与任何任务都没有任何关联。