シナリオ - アプリケーションをバックグラウンドで実行していません。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();
}
しかし、最近のボタンをもう一度押すと、アクティビティはおそらく終了せず、再作成されません。
これは、samsung デバイスではなく、最近のアプリ ボタン (四角いボタン) がある Android 6 および 7 を搭載した Nexus デバイスでのみ発生します。