Android:非Activity跳转Activity时要加FLAG?

时间:2022-07-23
本文章向大家介绍Android:非Activity跳转Activity时要加FLAG?,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

今天测试提了个BUG,说是点击小米推送的消息无法跳转到指定页面,只是清除了消息。

我随手就拿过手边的小米6 测试机试了一下,没啥问题啊,跳转挺好的啊;然后又拿过 Nexus 4x ,试了一下,也没问题啊。

但测试明确指出用他们那边一堆手机都不好使啊,我又拿了一个 三桑 手机试了一下,哎吆,还真不大好使;再拿一个 魅族 MX,也是不好使。好吧,确认是真的有问题了,然后翻代码。。。

翻着翻着我就发现,点击推送跳转时忘了加FLAG。按照我们之前的了解:

从非 Activity跳转到 Activity时 ,必须要给 intent 设置一个 FLAGNEWTASK , 如果不设置将无法跳转。加上之后,一切毛病都没有了。

但是,前面已经说过,在 米6 和 nexus 4X 上没有问题,所以,仔细对比了一下,发现:米6 和 nexus 4 都是7.1.1的系统, 三桑 是 6.0 系统,MX 是5.0 系统,而且测试用的那几个手机也是 6.0 及以下系统。所以,据此可知:

在 7.1.1(API25 )中,谷歌应该是对Activity跳转进行了优化,非Activity不加FLAG 也能跳转 在7.0中是否有这个特性,暂未测试,也未查阅相关资料。后续查阅相关资料之后再做相应补充。

附录:API Level 和版本号对应关系一览表 https://source.android.com/setup/build-numbers