我正在尝试在我的应用程序中创建多个通知.为了唯一地识别每个通知,我给了它们唯一的identifierId.以下是我的代码:
private void updateNotification(int notificationId,int clockStatusID,CharSequence text) { //notificationmanager.cancel(notificationId); // throws up an ongoing notification that the timer is running Log.i("TIMERCOUNT","Notification id: " + notificationId); Notification not = new Notification(clockStatusID,// the // icon // for // the // status // bar text,// the text to display in the ticker System.currentTimeMillis() // the timestamp for the // notification to appear ); Intent intent = new Intent(); intent.putExtra("notificationID",notificationId); intent.setAction("actionstring" + System.currentTimeMillis()); intent.setClassName("com.chander.time.android.activities","com.chander.time.android.activities.Tabs"); not.setLatestEventInfo(self,getText(R.string.timer_notification_title),getText(R.string.timer_on_notification_text),PendingIntent .getActivity(this,intent,PendingIntent.FLAG_UPDATE_CURRENT)); not.flags += Notification.FLAG_ONGOING_EVENT; not.flags += Notification.FLAG_NO_CLEAR; notificationmanager.notify(notificationId,not); }
问题:
当选择通知时,Tabs活动称为传递意图.我想访问在Tabs中选择的通知的唯一notificationId.我试图intent.putExtra()来保存notifyId的意图.但是,对于多个通知,它覆盖了notificationId并返回最新的通知.我不明白为什么会发生这种情况,我如何避免这种覆盖notificationId.
谢谢,
钱德尔
解决方法
我得到了答案.意图正在缓存.为了做一个新的意图,只需添加以下代码:
saveCallIntent.setData((Uri.parse("custom://"+System.currentTimeMillis())));
这使得意图是独一无二的.
另外,有人建议我使用以下代码来使意图独一无二:
saveCallIntent.setAction("actionstring" + System.currentTimeMillis());
它没有帮助我,但可能对别人有帮助.
–Chander