Java AlarmManager设置重复功能不工作。
我正在尝试使用Java AlarmManager设置重复功能不工作。,java,android,alarmmanager,Java,Android,Alarmmanager,我正在尝试使用设置重复报警,但它对我无效。当我尝试使用一次性闹钟时,它对我有效。 下面是代码,请帮我找出哪里做错了 Toast.makeText(AndroidAlarmService.this, "Start Alarm", Toast.LENGTH_LONG).show(); Intent myIntent = new Intent(AndroidAlarmService.this, MyAlarmService.class); pendingIntent = PendingIntent.
设置重复
报警,但它对我无效。当我尝试使用一次性闹钟时,它对我有效。下面是代码,请帮我找出哪里做错了
Toast.makeText(AndroidAlarmService.this, "Start Alarm", Toast.LENGTH_LONG).show();
Intent myIntent = new Intent(AndroidAlarmService.this, MyAlarmService.class);
pendingIntent = PendingIntent.getService(AndroidAlarmService.this, 0, myIntent, 0);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, 10);
//alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
calendar.getTimeInMillis() , 10, pendingIntent);
System.out.println("Calendar"+calendar.getTimeInMillis());
谢谢,
Aman如果使用日历,我们必须使用RTC或RTC_唤醒。您的
setRepeating()方法中有不同的参考框架:
alarmManager.setRepeating(**AlarmManager.ELAPSED_REALTIME_WAKEUP**, **calendar.getTimeInMillis()** , 10, pendingIntent);
AlarmManager.u实时文档:
系统时钟中的闹钟。elapsedRealtime()
AlarmManager.RTC文档:
Sustem.currentTimeMillis()中的闹钟
所以两者都是
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime() , 10, pendingIntent);
alarmManager.setRepeating(AlarmManager.RTC, System.currentTimeMillis() , 10, pendingIntent);
*唤醒类型也一样