0

を得るが、通知IDは、常にすべての通知値が同じで、最後の通知によって上書きされます。それを解決する方法を教えてください。XamarinのAndroidウェア:私はGetIntExtra</strong><strong>PutExtra</strong> & <strong>を使用しようとした現在、クリックされた通知のID

ありがとうございます!

 Intent actionIntent = new Intent(this, typeof(ConfirmActivity)); 
     actionIntent.PutExtra("NOTIFY_ID", 1); 
     PendingIntent actionPendingIntent = PendingIntent.GetActivity(this, 0, actionIntent, PendingIntentFlags.UpdateCurrent); 
     NotificationCompat.Action action = new NotificationCompat.Action.Builder(Resource.Drawable.ic_done_white_64dp_1x, 
        this.Resources.GetString(Resource.String.confirm), actionPendingIntent) 
        .Build(); 

     var notification = new NotificationCompat.Builder(this) 
      .SetContentTitle("1111") 
      .SetContentText("1111111111111111111111") 
      .SetSmallIcon(Resource.Drawable.Icon).Extend(new NotificationCompat.WearableExtender().AddAction(action)).Build(); 

     var manager = NotificationManagerCompat.From(this); 
     manager.Notify(1, notification); 


     Intent actionIntent2 = new Intent(this, typeof(ConfirmActivity)); 
     actionIntent2.PutExtra("NOTIFY_ID", 2); 
     PendingIntent actionPendingIntent2 = PendingIntent.GetActivity(this, 0, actionIntent2, PendingIntentFlags.UpdateCurrent); 
     NotificationCompat.Action action2 = new NotificationCompat.Action.Builder(Resource.Drawable.ic_done_white_64dp_1x, 
        this.Resources.GetString(Resource.String.confirm), actionPendingIntent2) 
        .Build(); 

     var notification2 = new NotificationCompat.Builder(this) 
      .SetContentTitle("2222") 
      .SetContentText("22222222222222222222") 
      .SetSmallIcon(Resource.Drawable.Icon).Extend(new NotificationCompat.WearableExtender().AddAction(action2)).Build(); 
     manager.Notify(2, notification2); 

================================= 

    [Activity(Label = "ConfirmActivity")] 
    public class ConfirmActivity : Activity 
    { 
     protected override void OnCreate(Bundle bundle) 
     { 
      base.OnCreate(bundle); 
      SetContentView(Resource.Layout.Confirm); 
      Intent intent = this.Intent; 

      int NOTIFY_ID = intent.GetIntExtra("NOTIFY_ID", 0); //always 2 
     } 
    } 

答えて

0

あなたはこのthreadをチェックすることをお勧めします。 BundleとPendingIntentを次のActivityに渡すことを提案しました。

+0

おかげで、私が見つけた問題は、私が使用していなかったということでした。ここで

Bundle bundle = new Bundle(); bundle.putString("Any String"); NotificationManager notifManager = (NotificationManager) this.getSystemService(this.NOTIFICATION_SERVICE); int uniqueInteger = //create a unique Integer int icon = R.drawable.ic_launcher; NotificationCompat2.Builder mNotification = new NotificationCompat2.Builder(this).setSmallIcon(icon) .setContentTitle(contentTitle).setContentIntent(getPendingIntent(bundle, uniqueInteger)); mNotification.setDefaults(Notification.DEFAULT_LIGHTS | Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE); mNotification.setAutoCancel(true); notifManager.notify(uniqueInteger, mNotification.build()); 

は役立つかもしれないいくつかのSO関連の投稿はあり一意の要求コード。 – Aaron

関連する問題