我有一個服務在每次收到新的GCM消息時顯示通知PendingIntent。問題是GCM消息可能是不同的。而如果有許多的通知離開未讀,我想不分開,但在團體,如告訴他們:獲取看不見的android通知
你有型的3個未讀消息的
你有B型的2個未讀郵件
你有4個未讀消息的類型C
據我所知,爲了得到這種效果,我需要訪問未讀/不可見通知。每當我收到新的通知時,我都可以檢查是否存在另一個此類型的未讀消息,然後決定是創建新通知還是更新舊通知。
我的問題是:有沒有辦法看到,哪些通知是看不見的,並得到訪問它們?
對於任何情況,這是我創建消息的方法;如果參數notificationId爲0,則應創建新的通知。其他 - 已更新。
private int sendNotification(String msg, Integer notificationId) {
Log.d(TAG, "sending message with text: "+msg);
mNotificationManager = (NotificationManager)
this.getSystemService(Context.NOTIFICATION_SERVICE);
Random random = new Random();
int notification_id = notificationId==0?random.nextInt(9999 - 1000) + 1000:notificationId;
RemoteViews remoteViews = new RemoteViews(getPackageName(),
R.layout.notification);
Intent intent = new Intent(this, MainActivity.class);
// Send data to NotificationView Class
intent.putExtra("text", msg);
PendingIntent pending= PendingIntent.getActivity(getApplicationContext(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("escos")
.setStyle(new NotificationCompat.BigTextStyle()
.bigText(msg))
.setContentText(msg);
mBuilder.setContentIntent(pending);
mBuilder.setContent(remoteViews);
remoteViews.setTextViewText(R.id.notiftext, msg);
remoteViews.setImageViewResource(R.id.notifim, R.drawable.ic_launcher);
Notification notification = mBuilder.build();
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.sound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
mNotificationManager.notify(notification_id, notification);
return notification_id;
}
謝謝你,這實際上是我計劃如何做到這一點。但我不知道如何實現4.你的名單。 – user2957954
@ user2957954請參閱'Edit1'。 –
如果通知被清除或點擊,如何處理仍然不清楚。 – user2957954