java – Android:管理多个通知

前端之家收集整理的这篇文章主要介绍了java – Android:管理多个通知前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在我的应用程序中创建多个通知.为了唯一地识别每个通知,我给了它们唯一的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

猜你在找的Android相关文章