gpt4 book ai didi

java - 在android中,无法在警报管理器中注册多个事件

转载 作者:行者123 更新时间:2023-12-01 11:41:57 24 4
gpt4 key购买 nike

我正在尝试注册不同时间的多个事件。但我面临一个问题,我同时看到所有事件的通知。

请在这里找到我的代码:

            long startTimeinMillies = element.start; // Starting time in ms
long currentTimeinMillies = System.currentTimeMillis();
long Difference = startTimeinMillies - currentTimeinMillies;
Intent myIntent = new Intent(getBaseContext(),MyReceiver.class);
myIntent.putExtra(EVENT_DATA_EXTRA, element.title); // Unique value
int value = (int) element.id; // unique value
myIntent.putExtra(EVENT_DATA_EXTRA_ID, value);
myIntent.setAction(System.currentTimeMillis()+"");
PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(),value, myIntent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, Difference,pendingIntent);

请告诉我出了什么问题。

最佳答案

如果您说您正在多次执行该代码块,并期望您会收到多个警报,那么这是行不通的。您的 PendingIntent 需要与底层 Intent 上的额外内容有所不同。就目前情况而言,您将替换现有警报,而不是添加新警报。

getBroadcast() 调用中的 0 替换为 value。如果您的评论正确,并且每个警报的 value 都是唯一的,那么应该足以为每个警报提供单独的 PendingIntent 对象。

关于java - 在android中,无法在警报管理器中注册多个事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29456510/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com