手机休眠状态下,alarmmanager不准的问题
情况是这样的。在手机休眠时(手机暗屏,锁屏) 绑定一个alarmmanager定时4秒,结果4秒之后有时能接收到广播,有时候不行,必须在我唤醒设备时才能收到广播。
//动态绑定广播接受者
final IntentFilter filter2 = new IntentFilter();
filter2.addAction(ALARM);
MyBurglarService.this.registerReceiver(alarmReceiver, filter2);
//注册广播
Intent intent =new Intent();
intent.setAction(ALARM);
PendingIntent sender=
PendingIntent.getBroadcast(MyBurglarService.this, 0, intent, 0);
//使用AlarmManager在指定时间后发送广播
AlarmManager alarm = (AlarmManager)getSystemService(ALARM_SERVICE);
alarm.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() +
4 * 1000, sender);
alarmmanager 手机 休眠 --------------------编程问答-------------------- 自己先顶一个 --------------------编程问答-------------------- 论坛有相关的帖子,你搜搜看。
//延时操作,判断是否亮屏
private BroadcastReceiver alarmReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
//有时能到这,有时需要唤醒设备才能接收到
}
设备在进入睡眠以后,你就收不到广播了。可以考虑拿个WakeLock,不用的时候释放掉,这样CPU不会休眠,但是比较费电。
补充:移动开发 , Android