从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,则启动器会将主屏幕重置为默认页面。
如果已经在堆栈顶部启动了活动实例,则仅设置标志。
当从另一个应用程序启动时,有没有办法欺骗启动器认为它已经在堆栈顶部运行(导致它重置主屏幕页面)? (不是从主页按键)。
答案 0 :(得分:1)
按照我对您的问题的理解。我认为FLAG_ACTIVITY_NEW_TASK标志可以帮到你。该文件说:
使用此标志时,如果任务已在您正在启动的活动中运行,则不会启动新活动;相反,当前任务将被简单地带到屏幕的前面,其状态是最后一次
如果已经有一个活动实例正在运行。方法:
protected void onNewIntent(Intent intent)
将被调用。因此,只要有新意图,您就可以通过此方法重置主屏幕。
希望有所帮助。