android 在广播中接收到消息,进行界面跳转,发现跳转失效

具体的现象描述:在做小米推送的时候,在接收到小米推送的通知后,点击通知后要在接收回调的广播类中进行相应的跳转界面操作,发现跳转无效,来先直接提供解决方法:

android 在广播中接收到消息,进行界面跳转,发现跳转失效

主要其实在intent按如上所示加一个flags就可以了;

原因是为什么呢?比如咱们常见的界面A跳转到界面B,就能正常跳转;这里涉及到一个知识点,比如A跳转到B(这里所说的AB是指咱们常见的Activity),B的启动模式是standard的,这个时候启动B的时候(用的是Activity类型的context),会把B放到A所在的任务栈中;然而此时咱们从广播中跳转,这个时候的context是指广播,所以就是缺少这个任务栈,所以....。有兴趣的同学请自行查看刚哥的Android开发艺术探索第一章Activity启动模式的相关内容或者去看看android的Activity的启动源码。