Recent Applications的快捷方式始终会启动应用程序的最新活动。怎么改变?

时间:2011-03-07 18:58:30

标签: android android-activity

我想始终启动一个特定的活动,而不是在关闭申请期间活动的活动。我没有可能在结束前切换到理想的活动,因为它可能已经死了。

我甚至希望从最近的应用程序删除整个程序的快捷方式,而不是让用户对启动信用而不是启动启动屏幕感到困惑。然而,这只是解决方法(但以防万一,我该怎么做?)

4 个答案:

答案 0 :(得分:2)

我反编译了一些应用并找到了解决方案:

wCompact hRegular

关于android:taskAffinity

  

应用于应用程序中所有活动的关联名称,但与其自己的taskAffinity属性设置不同关联的活动除外。有关详细信息,请参阅该属性。

     

默认情况下,应用程序中的所有活动共享相同的关联。该关联的名称与 <android:name="..." android:taskAffinity=":shortcut" android:excludeFromRecents="true" android:clearTaskOnLaunch="true" ... 元素设置的包名称相同。

答案 1 :(得分:1)

您可以通过android:excludeFromRecents="true"属性标记所有活动。这样可以确保您的所有活动都不会显示在“最近的应用程序”列表中。

您还应该查看android:finishOnTaskLaunchandroid:stateNotNeeded属性。

答案 2 :(得分:1)

如果您的意思是希望每次都通过相同的活动启动应用程序,请添加

android:launchMode="singleTask" 

到清单文件中的主要活动。这将强制您的应用程序将此活动放在活动堆栈的底部,清除可能已运行的所有其他活动。

答案 3 :(得分:0)

解决此问题的正确方法是添加

android:noHistory="true"

所有活动的清单条目除主(根)Activity 以外的其他活动。

当用户从最近任务列表或按HOME页面上的应用程序图标返回应用程序时,所有活动(主(根)Activity除外)将从任务(实际上,当用户通过按HOME按钮导航离开应用程序,接听来电,从通知栏中选择其他应用程序等时,它们会立即被删除