アクティビティ A はスプラッシュ スクリーンです。アクティビティ B は、singleTask のメニュー画面です。アクティビティ C は、写真を選択するためのビルトイン インテントを使用してギャラリーから写真を選択する noHistory の画面です。アクティビティ D は、写真を操作する画面です。
私が抱えている問題は、アクティビティ D でホームボタンを選択したときに、起動するアプリケーションをもう一度選択すると、アクティビティ D を起動する代わりに、アクティビティ A に戻ってアクティビティ B を再度起動することです。ただし、最近のアプリを使用すると、正常にアクティビティ D に戻ります。だから、私がセットアップした方法で少しエラーが発生しやすいものがあるに違いありません. ただし、ユーザーが写真表示画面 (アクティビティ D) に戻ってくることができるように、どちらの場合もアクティビティ D に戻ることを期待する必要があります。
考え?
<activity
android:name="ActivityA"
android:theme="@style/Theme.CustomDefaultStartup"
android:noHistory="true"
android:configChanges="keyboardHidden|orientation|screenSize"
android:screenOrientation="sensorLandscape"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="ActivityB"
android:theme="@style/Theme.CustomDefault"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/app_name"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
</intent-filter>
<meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
android:resource="@xml/device_filter" />
</activity>
<activity
android:name="ActivityC"
android:theme="@style/Theme.CustomDefault"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/app_name">
</activity>
<activity
android:name="ActivityD"
android:theme="@style/Theme.CustomDefault"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/app_name">
</activity>