0
点赞
收藏
分享

微信扫一扫

android应用内为某个Activity创建快捷方式后按home键的问题


  有时开发应用后,会为某个Activity创建一个桌面快捷方式,以后希望通过快捷方式直接进入到该Activity里,加Activity A。譬如百度卫士的桌面加速球就是这样。

  但是会碰到如下问题,当你的应用没有完全退出,譬如在一个其他的Activity B里,按下home键后,在通过桌面Activity A的快捷方式点击后,系统并不会进入到Activity A里,而是会先打开你未关闭的Activity B。  这是由于android系统的task决定的,如果不特别指明某个Activity的task,则整个application是在同一个以包名命名的task里。当这个task里有一个Activity在后台时,你想重新进入到该task里的某个Activity,系统会优化打开后台的Activity,既Activity B

  如果你想每次无论什么情况,点击Activity A的快捷方式就进入Activity A。那你需要在Manifest里为 Activity A指明一个不同的task,android:taskAffinity = "com.wiwigo.launcher"

命名随意,只要不与系统包名一样即可。 这样无论你在什么情况下,都能成功打开Activity A。

  该方法适用于,一个应用内有多个不同功能的快捷方式,需要分别进入到不同Activity。又不影响应用内其他Activity。

  感觉有点类似于多线程的机制。默认一个应用在一个task。

  大家可以去查看一些关于task 和Activity栈顶的资料,就会明白了。


举报

相关推荐

0 条评论