AlarmManager保持我的设备屏幕

时间:2013-08-27 08:50:01

标签: android alarmmanager android-alarms

我有一个问题需要设置AlarmReceiver。

我正在使用此代码:

Calendar cal = Calendar.getInstance();
                            cal.set(Calendar.SECOND, cal.get(Calendar.SECOND) + 5);
                            AlarmManager alarm = (AlarmManager)getActivity().getSystemService(Context.ALARM_SERVICE);
                            Intent i = new Intent(getActivity(), AlarmReceiver.class);
                            PendingIntent pIntent = PendingIntent.getBroadcast(getActivity(), 0, i, 0);
                            alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 1000*5, pIntent);

所以这意味着这个AlarmManager会每隔5秒调用一次AlarmReceiver,但问题是如果我不手动关闭屏幕,屏幕将保持打开状态,这不是我想要的。

1 个答案:

答案 0 :(得分:1)

来自AlarmManager参考文件:

参数AlarmManager.RTC_WAKEUP将唤醒设备(在设备休眠的情况下)以发送警报。您可以使用AlarmManager.RTC,但这不会唤醒设备,并且在下次设备唤醒之前您的闹钟将无法发送。

更好的选择是为此目的使用Service,因为它们旨在执行后台任务。