场景 - 我没有在后台运行我的应用程序。我为 ACTION_USER_PRESENT 实现了一个接收器。在此接收器中,我启动了一个活动,其清单设置为:
<activity android:name=".activity.MyActivityB"
android:excludeFromRecents="true"
android:noHistory="true"
android:screenOrientation="portrait"/>
这是因为其中有横幅,我将积分归功于用户,并且我不希望用户能够为同一个横幅一次又一次地启动它。
我在暂停时完成活动,因为我想在用户离开它时立即关闭它。
但是使用 Nexus 设备,当我按下最近的按钮时,活动会显示在最近的活动中,然后再次按下它,活动就会重新创建。
但是应该发生的是当活动在前台并且我按下最近按钮时,活动应该完成,因为我已经调用了这个:
@Override
protected void onPause() {
System.out.println("MyActivityB onpause called ");
super.onPause();
bannerShown = false;
if(!isFinishing())
finish();
}
但是当我再次按下最近按钮时,活动可能没有完成并重新创建。
这不在三星设备中,而仅在具有最近应用按钮(即方形按钮)的 Android 6 和 7 的 Nexus 设备中。