多个警报无法正常工作 Android

Multiple alarms not working properly Android

这是我在我的代码中尝试过的。多个警报无法正常工作 Android

    AlarmManager alarmManager = ((AlarmManager) getSystemService(Context.ALARM_SERVICE));
    int time1 = Integer.parseInt(e.getText().toString());
    time1 = time1 * 1000;
    final int id = (int) System.currentTimeMillis();
    Intent intentAlarm = new Intent(this, AlarmReceiver.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(this, id, intentAlarm, PendingIntent.FLAG_UPDATE_CURRENT);
    long r4 = time1 + System.currentTimeMillis();
    alarmManager.set(AlarmManager.RTC_WAKEUP, r4, pendingIntent);

任何人都知道哪里出了问题, 一些帮助将不胜感激,谢谢:)

您分配触发警报的时间的方式 alarmManager.set(AlarmManager.RTC_WAKEUP,r4, pendingIntent); 是错误的。

需要在 Calendar 中设置您从用户那里获得的时间(以秒为单位),然后在 alarmManager.set();

中分配该时间
Calendar cal = Calendar.getInstance();
cal.set(Calendar.SECOND, time1);

alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);

你的代码就像,

AlarmManager alarmManager;
alarmManager=( (AlarmManager)getSystemService(Context.ALARM_SERVICE));

int time1 = Integer.parseInt(e.getText().toString());

Calendar cal = Calendar.getInstance();
cal.set(Calendar.SECOND, time1);

final int _id = (int) System.currentTimeMillis();
Intent intentAlarm = new Intent(this, AlarmReceiver.class);
PendingIntent pendingIntent=PendingIntent.getBroadcast(this,_id , intentAlarm, PendingIntent.FLAG_UPDATE_CURRENT);

alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);