あなたがRecentsからアプリをスワイプすると、そのタスクは即座に強制終了されます。ライフサイクルメソッドは呼び出されません。
これが発生したときに通知を受けるには、スティッキーService
を開始し、そのonTaskRemoved()
メソッドを上書きすることができます。 onTaskRemoved()
のdocumentationから
:
これは、サービスが現在実行されている場合に呼び出され、ユーザーがサービスのアプリケーションから来ているタスクを 削除しました。例えば
:
のAndroidManifest.xmlでそれを登録
public class StickyService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_STICKY;
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onTaskRemoved(Intent rootIntent) {
Log.d(getClass().getName(), "App just got removed from Recents!");
}
}
:
<service android:name=".yourpackagename.StickyService" />
そして、それを開始する(例えばonCreate()
中):
Intent stickyService = new Intent(this, StickyService.class);
startService(stickyService);
これは完璧な作品! –