android深度睡眠对广播有什么影响吗,为什么WakefulBroadcastReceiver不能将我的设备从深度睡眠中唤醒?...
我正在使用喚醒服務(wù)的WakefulBroadcastReceiver喚醒我的設(shè)備。該服務(wù)啟動一個活動,并在最后通知WakefulBroadcastReceiver結(jié)束作業(yè)。我做了一個日志文件,我什么都看不到。當(dāng)我解鎖設(shè)備時,幾秒鐘后,活動即開始。當(dāng)我設(shè)置鬧鐘時,為什么不做?為什么WakefulBroadcastReceiver不能將我的設(shè)備從深度睡眠中喚醒?
Manifest包含BroadcastReceiver和Service聲明和WAKE_LOCK權(quán)限。
這里是WakefulBroadcastReceiver:
public class AlarmBroadcastReceiver extends WakefulBroadcastReceiver {
public AlarmBroadcastReceiver() {
Logging.logToFile("Construct broadcast receiver");
}
@Override
public void onReceive(Context context, Intent intent) {
Intent service = new Intent(context, AlarmService.class);
startWakefulService(context, service);
Logging.logToFile("Started wakeful broadcast receiver");
}
}
這里是服務(wù)類:
public class AlarmService extends IntentService {
public AlarmService() {
super("AlarmService");
Logging.logToFile("Started intent service");
}
@Override
protected void onHandleIntent(Intent intent) {
Logging.logToFile("Handle intent service");
Intent service = new Intent(this, WakeUpActivity.class);
service.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(service);
AlarmBroadcastReceiver.completeWakefulIntent(intent);
}
@Override
public void onDestroy() {
super.onDestroy();
Logging.logToFile("Destroy intent service");
}
}
這里是我的日志:
At 2016-04-01 23:14: Alarm set at 23:20
At 2016-04-01 23:23: Construct broadcast receiver
At 2016-04-01 23:23: Started wakeful broadcast receiver
At 2016-04-01 23:23: Started intent service
At 2016-04-01 23:23: Handle intent service
At 2016-04-01 23:23: Started WakeActivity
At 2016-04-01 23:23: Destroy intent service
At 2016-04-01 23:25: Alarm set at 23:30
At 2016-04-01 23:33: Construct broadcast receiver
At 2016-04-01 23:33: Started wakeful broadcast receiver
At 2016-04-01 23:33: Started intent service
At 2016-04-01 23:33: Handle intent service
At 2016-04-01 23:33: Destroy intent service
At 2016-04-01 23:33: Started WakeActivity
At 2016-04-01 23:34: Alarm set at 23:40
At 2016-04-01 23:42: Construct broadcast receiver
At 2016-04-01 23:42: Started wakeful broadcast receiver
At 2016-04-01 23:42: Started intent service
At 2016-04-01 23:42: Handle intent service
At 2016-04-01 23:42: Destroy intent service
At 2016-04-01 23:42: Started WakeActivity
At 2016-04-01 23:43: Started WakeActivity
At 2016-04-01 23:44: Alarm set at 23:49
At 2016-04-02 00:02: Construct broadcast receiver
At 2016-04-02 00:02: Started wakeful broadcast receiver
At 2016-04-02 00:02: Started intent service
At 2016-04-02 00:02: Handle intent service
At 2016-04-02 00:02: Started WakeActivity
At 2016-04-02 00:02: Destroy intent service
編輯:這是我如何設(shè)置鬧鐘:
Intent intent = new Intent(SmartClockActivity.this, AlarmBroadcastReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(SmartClockActivity.this, 0, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);
+1
請包括你如何設(shè)置報警 –
+0
@DavidMedenjak,完成。 –
總結(jié)
以上是生活随笔為你收集整理的android深度睡眠对广播有什么影响吗,为什么WakefulBroadcastReceiver不能将我的设备从深度睡眠中唤醒?...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VPP系统 接口启用DHCP
- 下一篇: 关于Windsocket脚本运行报错Er