[英]Launch existing singleTask Activity from launcher icon
场景:
单击启动器图标时,将启动活动A(清单中的MAIN和LAUNCHER)。
依次启动活动B。
然后,活动B启动我们的主应用程序活动C(清单中的MAIN和singleTask)。
我要求的行为:
一旦显示了活动C,然后按了Home键,那么下次按下启动器图标时,我想直接跳至活动C(而不再次显示活动A(因此不再显示B))。
我尝试使用A中的FLAG_ACTIVITY_CLEAR_TOP,但是只要在启动屏幕上点击图标,我仍然会获得活动A。
从启动程序中可以看到我的单任务活动C吗?
更新:使用A中的FLAG_ACTIVITY_CLEAR_TOP而不调用finish()会造成这样的情况,活动B在按下启动器图标时出现。 但是,同时应用B中的FLAG_ACTIVITY_CLEAR_TOP且不调用finish()不能解决这种情况。 现在我在启动器图标上没有得到A,但是得到B。这有什么用!
在这里看到类似的情况。
对于您的情况,我建议您使用类似的方法,在该方法中,您将拥有一个SharedPreference,它将保留一个表示您的应用程序先前是否已启动的值。
创建一个简单的活动,其中将包含您要在此处尝试执行的逻辑。 在该活动的(“ pre-A”活动)onResume()方法中,检查代表该应用程序先前是否已运行的首选项的值。
如果之前尚未运行过,请启动活动A的意图,该意图将调用随后的B和C活动; 否则,启动活动C的意图。
似乎非常简单,只需记住在清单中定义新的“ Pre-A”活动即可!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.