此问题情况是log都正常,并没有报错的情况下:
Intent loginIntent = new Intent(context, LoginActivity.class);
loginIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(loginIntent);
后来测试发现,有时候无法跳转(偶发),于是查资料发现,setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)相当于把Activity的启动模式设置成singleTask,然后看到清单文件中LoginActivity的启动模式写的是singleTop,想到有可能是冲突了导致的问题,最后把LoginActivity的启动模式改成singleTask,问题就解决了。
问题推理:
1.如果LoginActivity正好在Activity的栈顶的话,singleTop和singleTask的效果就是一样的了(对Activity启动模式不熟的小伙伴,可以自己查下资料),这样没有冲突,可以正常的跳转。
2.如果LoginActivity不在Activity的栈顶的话,singleTop和singleTask的效果就是不一样的了,这样就有冲突,就不能正常跳转。
目前是这样推理的,具体原因还有待探究,有什么问题或者大家有什么新发现,可以留言一起谈论。希望这篇文章可以帮到你。