Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何防止按下后退按钮后重新启动特定活动?_Android_Android Intent_Android Activity - Fatal编程技术网

Android 如何防止按下后退按钮后重新启动特定活动?

Android 如何防止按下后退按钮后重新启动特定活动?,android,android-intent,android-activity,Android,Android Intent,Android Activity,当我按下B活动上的后退按钮返回A活动时,B活动被重新启动,因为B活动是从意图启动的。额外的在A活动的创建时启动的 使用以前的数据重新创建intent.extra,因此它是递归发生的 我的意图是从FCM加载B活动,然后在用户按下后退按钮时返回到A活动 我已经尝试在startActivity之后删除意向数据,但没有成功。 但是如果我检查savedInstanceState是否为null,它会工作,但我不确定它是否正确 另外,A活动的launchMode是singleTop,但我认为这不是问题的关键

当我按下
B
活动上的后退按钮返回
A
活动时,
B
活动被重新启动,因为
B
活动是从
意图启动的。额外的
A
活动的
创建时启动的

使用以前的数据重新创建
intent.extra
,因此它是递归发生的

我的意图是从
FCM
加载
B
活动,然后在用户按下后退按钮时返回到
A
活动

我已经尝试在
startActivity
之后删除意向数据,但没有成功。
但是如果我检查
savedInstanceState
是否为
null
,它会工作,但我不确定它是否正确

另外,
A
活动的
launchMode
singleTop
,但我认为这不是问题的关键

整个场景如下

  • 在后台从FCM获取数据,然后从系统托盘提供数据
  • 检查
    A
    活动的
    onCreate
    是否有数据,然后检查是否有启动
    B
    活动
  • 按下
    B
    活动上的后退按钮,但
    B
    活动在
    A
    活动的
    onCreate
    重新启动
  • 如何防止场景中3的动作