web-dev-qa-db-ja.com

onTaskRemoved()はいつ呼び出すことができますか?

ドキュメントには、

これは、サービスが現在実行中で、ユーザーがサービスのアプリケーションからのタスクを削除した場合に呼び出されます。

最近のタスクリストからアプリがスワイプされたときにのみ呼び出されるようです。タスクですべてのActivitiesが破棄されるまで[戻る]ボタンを押しても、これは呼び出されません。これが呼び出される可能性のある他のシナリオはありますか?

13
Steve M

タスクですべてのアクティビティが破棄されるまで戻るボタンを押しても、これは呼び出されません。

戻るボタンを押してActivitiesを終了しても、実行中のサービスとアプリケーションプロセスが終了するわけではありません。システムがプロセスを強制終了しない限り、サービスは実行を継続します(明示的または自己停止されていない場合)。そのため、正しく説明したようにActivitiesを終了する場合、Service.onTaskRemoved()は呼び出されません。

これが呼び出される可能性のある他のシナリオはありますか?

いいえ、ただし documentation で説明されているもの「ユーザーがタスクを削除した」は、アプリをタスクリスト*。 Serviceを電話の設定から停止しても、Service.onTaskRemoved()はトリガーされません。


* AFAIK、まれにService.onTaskRemoved()が呼び出されない場合があります。

11
Onik