В моем приложении у меня есть три вида деятельности:Избегайте активности возобновления, когда приложение проходит в фоновом режиме
<activity
android:name="com.example.myapp.SplashScreenActivity"
android:exported="true"
android:launchMode="singleInstance"
android:noHistory="true"
android:screenOrientation="sensorLandscape" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.myapp.MainActivity"
android:exported="false"
android:launchMode="singleInstance"
android:screenOrientation="sensorLandscape" >
</activity>
<activity
android:name="com.example.myapp.ListActivity"
android:exported="false"
android:launchMode="singleTop"
android:screenOrientation="sensorLandscape" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.myapp.MainActivity" />
</activity>
Первых из них связаны с LAUNCHER
, SplashScreenActivity
, который является заставкой, которая исчезнет довольно скоро, и это не показано в последнее время начинается, MainActivity
. В MainActivity
пользователи могут выбрать категорию, а ListActivity
отображает предметы, принадлежащие данной категории. Это делается с помощью следующего кода:
Intent i = new Intent(getActivity(),ListActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
i.putExtra("category",mCategory);
startActivity(i);
В ListActivity
в onResume
метод проверяет «категории» дополнительные и приведены данные соответственно. Начиная с Activity
launchMode является singleTop, я также переопределил метод onNewIntent
, чтобы установить новый Intent
из Activity
.
Это работает должным образом, если приложение не идет в фоновом режиме: в этом случае, когда я перезапустить MainActivity
и выберите категорию, ListActivity
возобновляет старые Activity
показывающих данных, относящихся к ранее выбранной категории.
Как исправить флаги/launchMode таким образом, чтобы мое приложение не возобновляло ListActivity
со старыми загруженными данными?
Это происходит, когда вы покинули приложение, нажав кнопку «Назад», а затем возобновите его из списка последних приложений? Или это происходит всегда? –