3

今まで(Android Oreoの前)Service.onTaskRemoved()、次のように、アプリの最近からの削除を処理していました:

public class OnAppRemovedFromRecentListener extends Service {

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        return Service.START_NOT_STICKY;
    }

    @Override
    public void onTaskRemoved(Intent rootIntent) {
        super.onTaskRemoved(rootIntent);
        // there I am handling removing from recents
    }
}

しかし、Android Oreoでアプリを実行すると、同じ動作を実現できません。2つのアプローチを試しました:

  1. まだ使用しているService場合、アプリがバックグラウンドにあるときにしばらく非アクティブになった後、サービスが破壊され、ユーザーがアプリを最近から削除するonTaskRemovedと呼び出されません。
  2. このサービスから切り替えて開始Serviceすると、ほとんどすぐに OnAppRemovedFromRecentListener が破棄され、アプリが最近のものから削除されたときにも呼び出されませんJobIntentServiceJobIntentServiceLauncher.enqueueWorkonTaskRemoved

常に機能するAndroid Oreoの最近のアプリから私のアプリを削除することを検出する方法を知っている人はいますか?

4

1 に答える 1