2016-07-09 9 views
9

最近のアプリリストから自分のアプリが削除されたときに、私はNotificationを表示します。Androidでアプリケーションが終了したときに通知を受け取る方法

私はonStop()onDestroy()にコードを入れてみましたが、いずれも動作しません。 onStop()は、アプリケーションが閉じられるとすぐに呼び出されます(ただし、最近のアプリリストには残ります)。

アプリが最近のアプリリストから削除されたとき、またはこの必要性が達成できる方法であれば、どのメソッドが呼び出されるかは誰でも知ることができますか?

答えて

11

あなたが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); 
+0

これは完璧な作品! –

関連する問題