2016-09-09 4 views
1

ユーザーが通知を画面外にスライドさせるか、すべての通知をクリアするボタンを押すと、アプリケーションプロセスが強制終了されます。通知がクリアされたときのプロセスの停止

これを実装する方法はありますか?

+1

チェックこの回答http://stackoverflow.com/questions/14671453/catch-on-swipe-to-dismiss-event –

答えて

0

DeleteIntent:DeleteIntentは、通知に関連付けることができるPendingIntentオブジェクトで、通知が削除されると起動します。

ブロードキャストレシーバに保留インテントを設定し、必要な操作を実行できます。

Intent intent = new Intent(this, MyBroadcastReceiver.class); 
PendingIntent pendingIntent = PendingIntent.getBroadcast(this.getApplicationContext(), 0, intent, 0); 
    Builder builder = new Notification.Builder(this): 
..... code for your notification 
    builder.setDeleteIntent(pendingIntent); 

MyBroadcastReceiver

public class MyBroadcastReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     //code to kill app 
     c̶o̶n̶t̶e̶x̶t̶.̶f̶i̶n̶i̶s̶h̶A̶f̶f̶i̶n̶i̶t̶y̶(̶)̶;̶ 
     ActivityCompat.finishAffinity((Activity)context); 
    } 
} 

参照:catch on swipe notification event

+0

'finishAffinity()'が定義されているところでは、受信側はメソッドを解決しません。私は[ここ](http://stackoverflow.com/questions/26134560/close-application-from-broadcast-receiver)に与えられた選択肢を試してみましたが、どれも動作していません – Devansh

+0

私の編集した答えをチェックしてください –

関連する問題