Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.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 Activity_Android Intent - Fatal编程技术网

Android 完成活动行为取决于屏幕上的设置方向

Android 完成活动行为取决于屏幕上的设置方向,android,android-activity,android-intent,Android,Android Activity,Android Intent,我花了3天时间试图解决这个问题: ActivityA启动ActivityB并退出 用户按下activityB中的“退出”按钮,我正在呼叫finishB 我已将NO\u HISTORY标记放在activityB上。我还将Intent.flag\u ACTIVITY\u CLEAR\u TOP\Intent.flag\u ACTIVITY\u NEW\u TASK放在启动activityB时。 在清单中,所有活动都处于纵向模式 在onCreate中启动活动时,如果没有设置ScreenOrientat

我花了3天时间试图解决这个问题:

  • ActivityA启动ActivityB并退出
  • 用户按下activityB中的“退出”按钮,我正在呼叫finishB
  • 我已将
    NO\u HISTORY
    标记放在
    activityB
    上。我还将
    Intent.flag\u ACTIVITY\u CLEAR\u TOP\Intent.flag\u ACTIVITY\u NEW\u TASK
    放在启动
    activityB
    时。 在清单中,所有活动都处于
    纵向
    模式

    在onCreate中启动活动时,如果没有
    设置ScreenOrientation
    ,则此功能正常。

    调用
    设置屏幕方向时出现问题
    。这会导致“重新启动”活动。 正确完成的问题开始了。通常,使用finish的第二次尝试不会重新启动
    活动a
    。 在某些情况下,如果多次创建了
    activityB
    ,或者调用了一些活动,则多次调用finish可以解决问题:(。 看起来我有(B)的多个实例,必须将它们全部关闭。

    您可以尝试此代码

    Intent intent = new Intent(this, Alertactivity.class);
    this.startActivity(intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
    this.finish();
    

    对于activityA,将android:launchMode=“singleInstance”放入清单中。 启动activityB和finishA时-由于“singleinstance”系统无法再次启动activityA。
    :)

    将此属性添加到android清单文件中的活动标记中


    android:configChanges=“orientation”

    您能否共享代码段创建意图并启动B和A,B清单声明尝试将清单文件中的activityB的启动模式设置为
    singleInstance
    ,并将
    configChange
    设置为
    orientation
    我正在使用此标志。仔细阅读