0

从 Android 启动器源代码,

if ((intent.getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) !=
        Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) {
    //reset homescreen to default page
}

如果 startActivity 意图没有标志 FLAG_ACTIVITY_BROUGHT_TO_FRONT,启动器会将主屏幕重置为默认页面。

只有在堆栈顶部已经有一个正在启动的活动实例时,才不会设置该标志。

当它从另一个应用程序启动时,有没有办法让启动器认为它已经在堆栈顶部运行(导致它重置主屏幕页面)?(不是从主页键按下)。

4

1 回答 1

1

按照我对您的问题的理解。我认为 FLAG_ACTIVITY_NEW_TASK 标志可以帮助你。文件说:

使用此标志时,如果您现在正在启动的 Activity 已经在运行任务,则不会启动新的 Activity;相反,当前任务将简单地以其上次所处的状态被带到屏幕的前面

并且如果已经有一个活动实例正在运行。方法 :

protected void onNewIntent(Intent intent)

将被调用。因此,每当有新意图出现时,您都可以通过此方法重置主屏幕。

希望它有所帮助。

于 2012-11-07T01:59:19.160 回答