flag_activity_new_task
前段时间在适配android权限的时候,遇到一问题
1::在Activity的onCreate中去申请权限
2:对申请结果进行判断,如果全部拒绝了权限,则弹出退出或者是去设置中打开权限
其中点击设置中打开权限的时候启动activity时添加NEW_TASK TAG.并且对返回结果进行判断,如果仍然没有权限的时候,程序
直接finish
结果用户点击了设置-权限,去打开或者关闭权限,并且按back键返回后,activity执行消失了
即当A启动B,B启动C(使用了new task),C界面执行back后,会直接回到A。
原因:new task 是新启了一个acvitiy栈,C与A B 不在同一栈中 B无法接收到C返回的相关数据,启动C之后,B权限执行的结果直
接返回,此时判断仍然没有权限,所以直接finish。
所以要谨慎使用FLAG_ACTIVITY_NEW_TASK,如果要获取返回的相关数据,则不能使用该TASK。
相关阅读
【完美解决系列】Activity context requires the FLA
在Service中启动Activity,会报错如下: Intent intent = new Intent(MyService.this, Main2Activity.class); s
Android Intent.FLAG_ACTIVITY_NEW_TASK的个人理解
首先分四部曲简单做一下说明 1.What(是什么):Intent类中的一个静态标志属性 public static final int FLAG_ACTIVITY_NEW_TASK = 0