多个警报无法正常工作 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);
这是我在我的代码中尝试过的。多个警报无法正常工作 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);