我有taskAffinity活动,它是BActivity
,而AActivity
是正常活动。AActivity
通过使用下面的BActivity
函数来调用startActivity
。 BActivity's
作业完成后,BActivity
调用了finish();
函数,但BActivity
不会关闭最近的应用程序。
startActivity:
Intent intent = new Intent(AActivity.this, BActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP
| Intent.FLAG_ACTIVITY_MULTIPLE_TASK
| Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
我在哪里做错了?
AndroidManifest:
<activity
android:name=".BActivity"
android:excludeFromRecents="true"
android:exported="true"
android:launchMode="singleTask"
android:taskAffinity=".AActivity">
<intent-filter>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".AActivity"
android:configChanges="locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustPan" />
最佳答案
尝试用于上层SDK 21
finishAndRemoveTask();
并降低21使用
finish();