Я создаю уведомление от Сервиса, у которого есть намерение с дополнительным целым числом. По некоторым причинам, это не так просто, как кажется. Вот что я делаю:
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()
. Иногда я получаю значения вещей, которые я установил в предыдущих уведомлениях. Например, я получаю значение 3, когда я установил это значение равным 4. Я знаю, что это очень странно и странно, поэтому мне интересно, сталкивался ли кто-нибудь с чем-то подобным и что вы, возможно, сделали, чтобы исправить Это. Спасибо!