-1

アプリで通知を設定しました。その正常に動作します。通知をクリックするstatusbarと、アプリが表示されます。
通知がクリックされた場合、どこで設定できますか? 通知がクリックされたときに暗黙的に呼び出されるメソッドはありますか?
また、クリックされた場合にその通知を削除したいのですが、どうすればよいですか?

これは私のコードです

notifManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);  
Intent inty=getIntent();
note = new Notification(R.drawable.icon, "New E-mail", System.currentTimeMillis());  
PendingIntent intent = PendingIntent.getActivity(MainActivity.this, 0, inty, 0);  
note.setLatestEventInfo(MainActivity.this, "New E-mail", "You have one unread message.", intent);
notifManager.notify(R.string.search_hint, note); 
4

2 に答える 2

1

BroadcastReceiver を呼び出してみてください。要件に役立つ場合があります。

Intent notificationIntent = new Intent(this, dummy_activity.class);
notificationIntent.setAction("android.intent.action.MAIN");
notificationIntent.addCategory("android.intent.category.LAUNCHER");
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
                                notificationIntent,
                                PendingIntent.FLAG_UPDATE_CURRENT | 
                                Notification.FLAG_AUTO_CANCEL);

// Now, once this dummy activity starts send a broad cast to your parent activity and finish the pending activity
//remember you need to register your broadcast action here to receive.
BroadcastReceiver call_method = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        String action_name = intent.getAction();
        if (action_name.equals("call_method")) {
            // call your method here and do what ever you want.
        }
    }
};
registerReceiver(call_method, new IntentFilter("call_method"));
于 2013-03-27T05:29:49.047 に答える
1

インテントに追加のデータを追加し、アクティビティで onCreate メソッドと onNewIntent メソッドでそれを探すことができます。

例えば:

inty.putExtra("came from notification", true);

次に、onNewIntent に渡されたインテントを介して、または getIntent() を使用して onCreate でそれを読み取ることができます。

intent.getBooleanExtra("came from notification", false);
于 2013-03-27T04:39:37.943 に答える