1

A(ルートアクティビティ)とAから起動されるBの2つのアクティビティがあります。Bから押すと、1つのケースを除いてAに戻ります。If I am in B, go to home screen, launch the app again from recent apps, B comes to foreground but pressing back leads to home screen instead of A.最近のアプリからではなくアイコンから起動してアプリに戻ると、アクティビティ A が表示されますが、これは正しいとしましょう (ただし、B が表示され、B から押し戻すと A につながるはずです)。

活動A:

<activity android:name=".AudioRecTabsActivity"
            android:label="@string/app_name"
            android:launchMode="singleInstance">
            <!--  android:configChanges="keyboardHidden|orientation">-->
             <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

        </activity>

アクティビティ B:

<activity android:name=".settings.SettingsActivityOld"
            android:label="@string/settings_activity_title"/>

A からアクト B を起動する:

intent = new Intent(this, SettingsActivityOld.class);
startActivity(intent);
4

3 に答える 3

3

android:launchMode="singleInstance"アクティビティ B は新しいタスクで実行され、アクティビティ A はそのタスク内の唯一のアクティビティであるため、使用している場合、これは完全に正常です。このリンクを確認してください

于 2013-08-01T13:11:42.953 に答える
0

アクティビティ B でActivity#finish()を呼び出してみてください。アクティビティ スタックから現在のアクティビティが削除され、前のアクティビティに戻るはずです。

于 2013-08-01T13:08:40.343 に答える