2016-12-28 14 views
0

Androidの通知をクリックすると、アクティビティNotificationReceiverに電話します。通知OnClickイベント

通知は既に正しく表示されていますが、通知をクリックすると何も起こりません。ここで

は、通知のためのコードです:

private void notification_anzeigen2(){ 

    Log.d("Test2", "Test2 "); 
    Intent intent = new Intent(this, NotificationReceiver.class); 
    intent.putExtra("NotiClick",true); 


    PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent, Intent.FILL_IN_ACTION); 

    Notification n = new Notification.Builder(this).setContentTitle("GestureAnyWhere Hintergrundservice") 
                .setContentText("Bitte klicken, um den Hintergrundservice zu beenden") 
                .setContentIntent(pIntent) 
                .setAutoCancel(true) 
                .setSmallIcon(R.drawable.ic_launcher) 
                .build(); 


    NotificationManager notificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); 

    notificationManager.notify(1, n); 
    Log.d("Test3", "Test3 "); 
} 

そして、ここでは活動です:

public class NotificationReceiver extends Activity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 


    if (savedInstanceState == null) { 
     Bundle extras = getIntent().getExtras(); 
     if(extras == null) 
     { 
      Log.d("Test4", "Test4"); 
     } 
     else if (extras.getBoolean("NotiClick")) 
     { 
      Log.d("Test5", "Test5"); 
      stopService(new Intent(getApplicationContext(), HintergrundService.class)); 
     } 

    } 



    super.onCreate(savedInstanceState); 
    setContentView(R.layout.result); 
} 

どうもありがとうございました。

+0

マニフェストにNotificationReceiverアクティビティを登録しましたか? (BTW、レシーバは、通常、Androidの何かを意味するため、NotificationReceiverはアクティビティの大きな名前ではありません)。 –

答えて

0

試してみてください。

PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); 

あなたはフラグとして、その値が望ましくないフラグに一致させることができますので、ここでは何の関係もありません定数を渡す、PendingIntent docを参照してください。

それは言う:「Intent.fillIn(でサポートされているとして、実際の送信が発生したときに供給することができる意思の不特定のどの部分を制御するために)FLAG_ONE_SHOT、FLAG_NO_CREATE、FLAG_CANCEL_CURRENT、FLAG_UPDATE_CURRENT、またはフラグのいずれであってもよいです。」

関連する問題