3 つのアクティビティ (A、B、C) があります。アクティビティ A はサインインに使用されます。サインインが成功すると、アクティビティ A がアクティビティ B を開始し、その後アクティビティ A が強制終了されます (finish() を使用)。
アクティビティ B には、アクティビティ C を開始するためのボタンがあります (アクティビティ B は終了していません)。アクティビティ C は、(カメラ インテントを使用して) オンクリックでカメラを開きます。
アクティビティ C を実行中に押し戻すと、アクティビティ B の onResume() が呼び出されます。
ただし、アクティビティ C にいて、カメラ インテントを開始し、アクティビティ C で画像を正常に表示してから戻ると、アクティビティ B の onResume() と onDestroy() が呼び出され、何らかの方法でアクティビティ A がトリガーされ、署名する必要があります。アクティビティ B に戻るのではなく、もう一度入力します。
アクティビティ B と C はどちらも、マニフェスト ファイルに次の属性があります。
android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden|screenSize"
これを回避してアクティビティ B にとどまる方法はありますか?
マニフェスト ファイルからの抽出
<activity
android:name=".ActivityA"
android:configChanges="orientation|screenSize"
android:label="@string/title_login"
android:screenOrientation="portrait" />
<activity
android:name=".ActivityB"
android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden|screenSize"
android:theme="@style/Theme.TransparentActionbar" />
<activity
android:name=".ActivityC"
android:configChanges="orientation|keyboardHidden|screenSize"
android:screenOrientation="portrait"
android:theme="@style/Theme.TransparentActionbar" />