我开发了一个Android应用程序。这个应用程序会生成通知,我也会解雇它们并在解雇时采取行动。
如果我收到一份通知并将其解雇,则会收到意图。如果我收到一个,解雇,收到一个,解雇......它会起作用。
但是如果我收到5个通知并开始解雇它们,一旦我解雇第一个通知,就会收到意图,但从未发过,我
我被期望得到5个意图作为5个解雇。在我的情况下,通知管理员解雇他们,但应用程序只收到一个。
private void singleNotification() {
Intent resintent = new Intent(NOTIFICATION_DELETED_ACTION);
resintent.putExtra(rIdDismiss",mNotification.get(mNotification.size() - 1).mTwitterNotifId);
PendingIntent pendintIntent = PendingIntent.getBroadcast(mContext, 0, resintent, PendingIntent.FLAG_CANCEL_CURRENT);
mContext.registerReceiver(receiver, new IntentFilter(NOTIFICATION_DELETED_ACTION));
Notification notification = new Notification(android.R.drawable.btn_default,
mNotification.get(mNotification.size() - 1).mTwitterNotifTitle.toString(), System.currentTimeMillis());
Intent notificationIntent = new Intent(mContext, TwitterHomeActivity.class);
notificationIntent.putExtra("IS_NOTIFICATION", true);
notificationIntent.putExtra("Title", mContext.getResources().getString(R.string.app_name));
notificationIntent.putExtra("Text", mNotification.get(mNotification.size() - 1).mTwitterNotifText.toString());
notificationIntent.putExtra("Url", mNotification.get(mNotification.size() - 1).mTwitterImgUrl.toString());
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_CLEAR_TASK);
PendingIntent contentIntent = PendingIntent.getActivity(mContext, mNotification.get(mNotification.size()-1).mTwitterNotifUniqueId, notificationIntent,PendingIntent.FLAG_CANCEL_CURRENT);// );
notification.setLatestEventInfo(mContext,
mContext.getResources().getString(R.string.app_name),
mNotification.get(mNotification.size()-1).mTwitterNotifText.toString(),
contentIntent);
notification.contentIntent = contentIntent;
notification.defaults |= Notification.DEFAULT_SOUND;
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.deleteIntent = pendintIntent;
mNotificationManager.notify(mNotification.get(mNotification.size() - 1).mTwitterNotifId, notification);
}
创建新通知时,我正在做:
mNotificationManager = (NotificationManager)
mContext.getSystemService(Context.NOTIFICATION_SERVICE);
NotificationManager得到:
{{1}}
默认行为正常,接收,解雇,,但我还需要能够接收,接收,接收,解雇,解雇,解雇
任何想法
答案 0 :(得分:0)
如果您收到多个通知,而且您无法解除所有通知。然后问题可以是传递给您的待定意图的ID。您需要为将从定义的待定意图生成的每个通知传递不同的ID。请更改此代码行。
PendingIntent pendintIntent = PendingIntent.getBroadcast(mContext, id, resintent, PendingIntent.FLAG_CANCEL_CURRENT);
其中id每次都是不同的int值,而不是总是0。