Man*_*gde 13 notifications android push-notification android-notifications android-notification-bar
我正在开发一个应用程序,我在其中实现了Push通知功能.我的onMessage代码- GCMIntentService.java是:
@Override
protected void onMessage(Context context, Intent data) {
String message = data.getExtras().getString("message");
displayMessage(context, message);
generateNotification(context, message);
}
Run Code Online (Sandbox Code Playgroud)
和generateNotification的代码-
private static void generateNotification(Context context, String message) {
int icon = R.drawable.ic_launcher;
long when = System.currentTimeMillis();
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(icon, message, when);
String title = context.getString(R.string.app_name);
Intent notificationIntent = new Intent(context, GCMMessageView.class);
notificationIntent.putExtra("message", message);
// set intent so it does not start a new activity
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent intent = PendingIntent.getActivity(context, 0,notificationIntent, 0);
notification.setLatestEventInfo(context, title, message, intent);
notification.flags |= Notification.FLAG_AUTO_CANCEL;
// Play default notification sound
notification.defaults |= Notification.DEFAULT_SOUND;
// Vibrate if vibrate is enabled
notification.defaults |= Notification.DEFAULT_VIBRATE;
notificationManager.notify(0, notification);
}
Run Code Online (Sandbox Code Playgroud)
这段代码工作正常.我正在收到推送消息和通知.
=>但是当我发送超过一条消息时,通知就会被写入.我只能在状态栏中看到最后一次通知.
应用程序的需要是 - 如果我发送多个通知,那么所有应该显示在状态栏中.
所以请指导我在代码中应该怎么做.
Sys*_*ech 10
尝试在意图中添加不同的通知ID(即nid),并为每个新通知通知而不是0,这将防止覆盖您的通知
PendingIntent intent = PendingIntent.getActivity(context, nid,notificationIntent, 0);
Run Code Online (Sandbox Code Playgroud)
和
notificationManager.notify(nid, notification);
希望对你有帮助
| 归档时间: |
|
| 查看次数: |
8449 次 |
| 最近记录: |