1

Я хочу передать длинное значение с помощью 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 - влажное одеяло.

Я жду ваших богоподобных советов. Благодаря!

+0

делает намерение.getIntExtra ("courseId", 0) return 15252? –

+0

Что делает 'intent.hasExtra (" courseId ")' return? – injecteer

ответ

2

Если вы собираетесь использовать дополнительные функции с PendingIntent, всегда используйте флаг в последнем параметре фабричного метода PendingIntent (getActivity() в вашем случае). Возможно, вы хотите FLAG_UPDATE_CURRENT, чтобы указать, чтобы заменить существующее существующее содержимое PendingIntent новыми дополнительными функциями.

+0

Теперь это божественный ответ. Благодаря! –

Смежные вопросы