繁体   English   中英

从启动器图标启动现有的singleTask活动

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM