Я использую уведомление GCM в своем приложении. Я анализирую данные в «onMessageReceived», где я получаю уникальный URL-адрес, соответствующий сообщению GCM. Когда я получаю одиночный уведомление. Все хорошо, но когда я получаю несколько проблем с уведомлениями, возникает, когда я нажимаю любое уведомление, полученное последним, набираемое сообщение.Как обрабатывать уведомления GCM при получении различных уведомлений GCM
public void onMessageReceived(String from, Bundle data) {
String message = data.getString("message");
String country = data.getString("country");
String url = data.getString("url");
String description = data.getString("description");
String id = data.getString("id");
}
Я получаю URL из GCM оповещения
Intent intent = new Intent(this, Detailview.class).putExtra("url", url);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addParentStack(Mainscreen.class);
stackBuilder.addNextIntent(intent);
PendingIntent pendingIntent= stackBuilder.getPendingIntent(0, PendingIntent.FLAG_ONE_SHOT);
RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.custom_notification_layout);
contentView.setImageViewResource(R.id.image, R.drawable.ic_stat_ic_notification);
contentView.setTextViewText(R.id.title, message);
Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_stat_ic_notification)
.setAutoCancel(true)
.setContent(contentView)
.setSound(defaultSoundUri)
.setContentIntent(pendingIntent);
NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(Integer.parseInt(id)
/*ID of notification */
, notificationBuilder.build());
поэтому, когда я нажмите уведомление я могу запустить только последний URL Как я могу решить эту проблему?
использовать различные идентификаторы NOTIFICATION_ID для различных типов уведомлений, которые соответственно создают отдельную полосу уведомлений в строке состояния. –
notificationManager.notify (Integer.parseInt (id), notificationBuilder.build()) здесь я использую другой идентификатор – Sanjeev