アラームによってトリガーされた BroadcastReceiver によって開始されるサービスがあります。このコンテキストでは、アプリのアクティビティは実行されておらず、メイン アクティビティを開始する必要さえありません。
サービスから、Intent.FLAG_ACTIVITY_NEW_TASK で設定されたアクティビティを開始しましたが、正常に動作しています。問題は、finish(); を呼び出した後、ユーザーがこのアクティビティをどのように破棄するかという動作にあります。
- このアクティビティがフォーカスされたときに別のアプリを使用している場合、それを閉じると、Android は以前使用していたアプリに戻るのではなく、アプリのメイン アクティビティに移動します。
- 携帯電話の画面がオフで、アクティビティが表示されている場合 (ウェイク ロックがある場合)、finish() を呼び出しても実際には「終了」しません。つまり、アクティビティはバックグラウンドに送信されるため、ロック画面は表示されますが、アクティビティは開いているアプリのリストに引き続き表示されます。スワイプするだけで本当に閉じることができます。
この場合、それらは通常の動作ですか?それらを回避する方法を知っている人はいますか?
ありがとうございました。