余分な整数を持つインテントを持つサービスからの通知を作成しています。何らかの理由で、これは思ったほど簡単ではありません。これは私がやっていることです:
Notification notification = new Notification(R.drawable.notification_icon, "Title", 0);
Intent relaunchIntent = new Intent(this, SomeClass.class);
relaunchIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
relaunchIntent.putExtra("load", getId());
notification.setLatestEventInfo(this, "Title", "Tap here to open", PendingIntent.getActivity(this, 0, relaunchIntent, 0);
notificationManager.notify(1234, notification);
そして、SomeClass から、次のように読み取ります...
if(getIntent().getExtras() != null)
load(getIntent().getExtras().getInt("load", -1));
getInt()
奇妙なのは、メソッドから値を読み取るときに一貫性のない結果が得られることです。以前の通知で設定した値を取得することがあります。たとえば、エクストラを 4 に設定したときに 3 の値が得られます。これは非常に紛らわしく、奇妙であることはわかっています。そのため、誰かがこのようなことを経験したことがあるかどうか、また修正のために何をしたかを知りたいのです。それ。ありがとう!