我有两个活动FirstActivity和SecondActivity。Android:我如何从活动堆栈中完全删除活动?
FirstActivity有一个intent过滤器MAIN,LAUNCHER和DEFAULT。 SecondActivity只是一个正常的活动,AndroidManifest中没有设置其他标志。
我的应用程序启用了C2DM,当收到通知时,会显示一个任务栏图标,点击后会打开SecondActivity。
抵达通知有两种情况: 首先,我的应用程序已经在通知到达时运行,第二个我的应用程序完全没有运行。
在第一种情况下,一切都很好。收到通知后,我从通知下拉单击,然后显示我的SecondActivity。当我按回SecondActivity完成并且应用程序进入后台时。当我从最近的应用程序再次启动我的应用程序时,它显示FirstActivity,因为它的MAIN,LAUNCHER和DEFAULT是正确的。
在第二种情况下,收到通知后,我从通知下拉单击它并显示我的SecondActivity。当我按回SecondActivity完成并且应用程序进入后台时。当我从最近的应用程序再次启动我的应用程序时,它显示SecondActivity,这是错误的。我期待FirstActivity被展示,因为它应该是一个全新的开始。
我在第二种方案后尝试ForceKilling应用程序,但结果相同,我需要重新启动手机才能从FirstActivity再次启动。
你们遇到过同样的问题吗?还是仅仅是我?你认为我的配置有什么问题?
我也试着设置noHistory = false到SecondActivity,但结果仍然是一样的。
在main Activity中将clearTaskOnLaunch设置为true将是一个更好的主意。不需要以这种方式设置singleInstance。 – Rohit
我刚刚尝试过,但无济于事。 – Macchiato