У меня есть действие A, и когда я нажимаю элемент панели инструментов, оно запускает действие B, используя startActivity (намерение). Всякий раз, когда я нажимаю кнопку «Назад» или значок навигации вверх, мое приложение закрывается. Я полагаю, это потому, что я использую 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;
}