Android 启动模式&;近期应用原则
我有一个WidgetResultActivity和一个NotificationResultActivity,我设置了它们的launchmode=singleInstance。但它们有不同的行为:WidgetResultActivity将不会从最近打开,而NotificationResultActivity将始终从最近打开(它是单独打开的!没有MainActivity)。那么,我如何禁止从最近的thx中打开NotificationResultActivity呢Android 启动模式&;近期应用原则,android,android-activity,android-homebutton,launchmode,Android,Android Activity,Android Homebutton,Launchmode,我有一个WidgetResultActivity和一个NotificationResultActivity,我设置了它们的launchmode=singleInstance。但它们有不同的行为:WidgetResultActivity将不会从最近打开,而NotificationResultActivity将始终从最近打开(它是单独打开的!没有MainActivity)。那么,我如何禁止从最近的thx中打开NotificationResultActivity呢 <activity
<activity
android:name=".WidgetResultActivity"
android:launchMode="singleInstance"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity
android:name=".NotificationResultActivity"
android:launchMode="singleInstance"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
测试清单:
<activity
android:name=".ATester1"
android:label="@string/app_name" >
</activity>
<activity
android:name=".ATester2"
android:label="@string/app_name" >
</activity>
<activity
android:name=".ATester3"
android:label="@string/app_name" >
</activity>
<activity
android:name=".ExcludeFromRecentActivity"
android:excludeFromRecents="true"
android:label="@string/app_name" >
</activity>
测试图像:
第一:
第二:
第三:
第四:
编辑:我真正需要的是对话或者类似的活动,我会在另一篇文章中问@WebnetMobile.com,谢谢你 要防止活动添加到最近的活动中,请添加
android:excludeFromRecents="true"
android文档中的
android:taskAffinity=""
android:excludeFromRecents="true"
android:launchMode="singleInstance"
需要taskAffinity,这对我很有用。谢谢您的快速回复。我试过了,但是“排除最近的活动”会将我的所有活动从最近的活动中排除。对吗?不确定什么是“所有的活动”?有没有活动。没有活动的一半:)标记将阻止NotificationResultActivity
出现在最近的活动中。它不会影响其他活动-除非您也将此属性添加到它们的
块中,否则这些活动将出现。它确实影响了其他活动:在NotificationResultActivity打开后,我的应用在最近消失。(用户不会方便地从“最近”打开我的应用程序,希望你们能理解我的意思)除了这个标签,并没有其他方法可以影响最近的内容。请参阅:“是否应将此活动启动的任务从最近使用的应用程序列表(“最近的应用程序”)中排除。也就是说,当此活动是新任务的根活动时,此属性确定该任务是否不应出现在最近的应用程序列表中。如果应将该任务从列表中排除,则为“true”false“如果应该包括它。默认值为“false”。“如上所述,My ATester将消失。这是因为AndroidManifest属性android:taskAffinity优先于FLAG_ACTIVITY_NEW_TASK。如果希望ActivityB与ActivityA处于不同的任务中,则需要为其指定不同的taskAffinity。
<activity
android:name=".NotificationResultActivity"
android:launchMode="singleInstance"
android:excludeFromRecents="true"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
android:taskAffinity=""
android:excludeFromRecents="true"
android:launchMode="singleInstance"