当taskAffinity活动正在调用finish()但未关闭最近的应用程序时

时间:2018-11-26 12:17:03

标签: android android-activity taskaffinity

我的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" />

1 个答案:

答案 0 :(得分:1)

尝试用于高级SDK 21

finishAndRemoveTask();

并降低21个使用值

finish();