Я хочу передать длинное значение с помощью PendingIntent что-то вроде этогоgetLongExtra всегда возвращает значение по умолчанию с помощью PendingIntent
Intent intentForPending = new Intent(context, NewBlaBlaActivity.class);
long courseId = 15252;
intentForPending.putExtra("courseId", courseId);
intentForPending.putExtra("isFromPushNotification", true);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, intentForPending, 0);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
context).setSmallIcon(R.drawable.appicon)
.setContentTitle("BlaBla")
.setStyle(new NotificationCompat.BigTextStyle().bigText(message))
.setContentText(message)
.setAutoCancel(true);
mBuilder.setContentIntent(contentIntent);
mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build());
И получить значение, как показано ниже
Intent intent = getIntent();
if(intent.getBooleanExtra("isFromPushNotification", false)) {
long courseId = intent.getLongExtra("courseId", 0);
}
Но я всегда получаю 0 из намерение. Самое странное, что я могу получить логическое значение с помощью ключа isFromPushNotification от намерения, я не могу получить длинную ценность из того же намерения.
Это сводит меня с ума. Как вы можете видеть, это PushNotification, и этот код запускается, когда я нажимаю на уведомление.
Я пробовал весь путь, который я могу получить с форумов и вопросов в stackoverflow, добавив L suffix на def и исходное значение для длинных объектов. Но я думаю, что PendingIntent - влажное одеяло.
Я жду ваших богоподобных советов. Благодаря!
делает намерение.getIntExtra ("courseId", 0) return 15252? –
Что делает 'intent.hasExtra (" courseId ")' return? – injecteer