3

アクティビティ A があり、ツールバー項目を押すと、startActivity(intent) を使用してアクティビティ B が開始されます。戻るボタンまたは上向きのナビゲーション アイコンを押すたびに、アプリが閉じます。親アクティビティで launchMode="singleTop" を使用しているためだと思います (これを使用しているのは、検索ビューと検索可能な構成があるためです。検索用にアクティビティの別のインスタンスを開始したくないためです) )。質問は次のとおりです。アプリを閉じずに、アップナビゲーションと戻るボタンの両方を使用して、子アクティビティ(B)から親アクティビティ(A)に戻るにはどうすればよいですか? 私はそれについて検索しましたが、onNewIntent() について何かを見つけました。これが私の解決策である場合、どのように適切に使用すればよいですか?


ここに私のマニフェストファイルがあります:

        <activity
            android:name="com.example.fernando.inspectionrover.MainActivity"
            android:screenOrientation="landscape">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <action android:name="android.intent.action.SEARCH" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <meta-data
                android:name="android.app.searchable"
                android:resource="@xml/searchable" />
        </activity>
        <activity
            android:name="com.example.fernando.inspectionrover.BluetoothSettingsActivity"
            android:parentActivityName="com.example.fernando.inspectionrover.MainActivity"
            android:screenOrientation="landscape">
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value="com.example.fernando.inspectionrover.MainActivity" />

新しいアクティビティを開始する方法は次のとおりです。

switch (id) {
            case R.id.bluetoothActivity:
                Intent switchActivity = new Intent(this, BluetoothSettingsActivity.class);
                startActivity(switchActivity);
                Log.i(LIFE_CYCLE, "Switching from " + getLocalClassName() + " to Bluetooth Setting Activity");
                finish();
                break;
        }
4

2 に答える 2