Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重复报警通知(Android)_Android_Notifications_Alarmmanager - Fatal编程技术网

重复报警通知(Android)

重复报警通知(Android),android,notifications,alarmmanager,Android,Notifications,Alarmmanager,这样行吗 public void setRepeatingAlarm() { ArrayList<Integer> AlarmDays = datasource.getDays(); final int _id = (int) System.currentTimeMillis(); Log.d("AlarmManageDebt", String.valueOf(AlarmDays)); for (int i : AlarmDays) {

这样行吗

  public void setRepeatingAlarm() {

    ArrayList<Integer> AlarmDays = datasource.getDays();
    final int _id = (int) System.currentTimeMillis();

    Log.d("AlarmManageDebt", String.valueOf(AlarmDays));

    for (int i : AlarmDays) {

        Calendar cal = Calendar.getInstance();
        if (cal.get(Calendar.SECOND) >= 30)
            cal.add(Calendar.MINUTE, 1);
        cal.set(Calendar.SECOND, Integer.valueOf(i));

        Intent intent = new Intent(this, TimeAlarm.class);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(this, _id,
                intent, PendingIntent.FLAG_CANCEL_CURRENT);
        am.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
                60 * 1000, pendingIntent);
    }
}
public void setRepeatingAlarm(){
ArrayList AlarmDays=datasource.getDays();
final int_id=(int)System.currentTimeMillis();
Log.d(“AlarmManageDebt”,String.valueOf(AlarmDays));
用于(int i:AlarmDays){
Calendar cal=Calendar.getInstance();
如果(校准获取(日历秒)>=30)
计算添加(日历分钟,1);
cal.set(日历秒、整数、值(i));
意向意向=新意向(此,TimeAlarm.class);
PendingEvent PendingEvent=PendingEvent.getBroadcast(此,_id,
意向、挂起内容、标志(取消当前);
am.setRepeating(AlarmManager.RTC_唤醒,cal.getTimeInMillis(),
60*1000,悬挂式);
}
}
我对PendingEvent有一个唯一的ID,报警中唯一不同的是“I”变量,它根据数据库行为它提供新的秒数(最终,这将是一个每日通知,“I”将表示一天,而不是一秒。但这是出于测试目的。我已确认在“I”中传递了正确的数据.我只是不确定这是否会产生三个不同的警报


那么,我是在这里创建多个报警?还是每个循环都有效地替换了刚才创建的一个?

仅根据文档所述,我可以想象您将只有一个AlarmManager:

“如果已经计划了此意图的警报(由filterEquals(意图)定义两个意图相等),则它将被删除并替换为此警报。”

以下是如何确定意图平等: )

基于这一点,我会说不,即使你有吊挂帐篷的唯一ID