バックグラウンドで開いたままにし、ユーザーのアクションを記録するサービスを作成しています。
ここで、ユーザーがバックキーを押すか、最近のアプリ画面でアプリをスワイプしてアプリのアクティビティを終了した場合、バックグラウンド サービスも終了したいのですが、Android が onDestroy を呼び出した場合、向きの変更やその他の理由により、サービスは引き続きバックグラウンドで実行する必要があります。
そのためには、ユーザーがいつアクティビティを閉じたのか、それが Android だったのかというコードの違いを知る必要があります。
戻るボタンの場合、これは簡単に修正できます。onBackpressed を上書きするだけで問題ありません。ただし、ユーザーが最近のアプリ画面からアプリをスワイプすると、これは呼び出されません。