为什么AlarmManager.RTC唤醒我的设备?

时间:2013-05-23 23:30:42

标签: android alarmmanager sleep

我有一个非常简单的警报管理器,可以在设备清醒时执行操作。所以我认为AlarmManager.RTC是我最好的方法。根据{{​​3}},设备应该忽略下一个发生的警报,直到设备唤醒,然后它会发送其待处理的意图指令。

以下是我安排闹钟的代码:

Intent intent = new Intent(getApplicationContext(), WorkerService.class);
            PendingIntent pIntent = PendingIntent.getService(getApplicationContext(), 0, intent, 0);
            AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
            am.setRepeating(AlarmManager.RTC, System.currentTimeMillis(), 10000, pIntent);

这是“WorkerService.class”中的代码

    public void onCreate() {
    super.onCreate();

    stopSelf();

}

public void onDestroy() {
    super.onDestroy();
    Log.i("Service Status", "Service exited");
}

我在这里做错了什么?

现在我知道我可以写一个屏幕接收器,但是当屏幕关闭时,当警报管理器应该忽略我的警报时,我必须打开另一个服务来保持接收器(有点烦人)。

我使用Log.i通知我该服务是否已运行。我能够通过使用ADB Over WiFi来告诉eclipse的logcat输出是什么,这样设备就可以睡觉了。

谢谢你们,我真的很难过。

0 个答案:

没有答案