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);
*唤醒类型也一样