2013-02-06 51 views
2

我需要創建2通知,但他們都得到相同的額外,如果我使用FLAG_UPDATE_CURRENT或FLAG_CANCEL_CURRENT最後,否則第一。兩個活動通知不同的額外

NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 

for(int num=1;num<3;num++){ 
    Intent intent = new Intent(this, ActivityNotification.class); 
    intent .putExtra("reminder_id", num); 
    PendingIntent pi = PendingIntent.getActivity(this, num, intent , 0); 
    // PendingIntent pi = PendingIntent.getActivity(this, num, intent , PendingIntent.FLAG_UPDATE_CURRENT); 
    Notification noti = new Notification.Builder(this) 
     .setContentIntent(pi) 
     .setContentTitle(title) 
     .setContentText(text) 
     .setSmallIcon(R.drawable.noti) 
     .setWhen(when) 
     .setAutoCancel(true) 
     .build(); 
    noti.flags |= Notification.FLAG_AUTO_CANCEL; 
    notificationManager.notify(num, noti);   
} 

我怎樣纔能有不同的演員?或者一般來說,我的ActivityNotification如何知道哪個通知調用了它?

回答

4

正如here說:

  • 選項#1:將不同的操作字符串中每個意圖的。在 代碼:

    intent.putExtra("reminder_id", num); 
    intent.setAction("com.yourapplic.intent.action.ACTION_NAME" + num); 
    PendingIntent pi = PendingIntent.getActivity(this, num, intent , 0); 
    
  • 選項#2:使用您getActivity不同requestCode(第二個參數)()調用。這顯然不適用於你的情況