当前位置:编程学习 > wap >>

手机休眠状态下,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);



//延时操作,判断是否亮屏
private BroadcastReceiver alarmReceiver = new BroadcastReceiver() {

@Override
public void onReceive(Context context, Intent intent) {

        //有时能到这,有时需要唤醒设备才能接收到
        }
alarmmanager 手机 休眠 --------------------编程问答-------------------- 自己先顶一个 --------------------编程问答-------------------- 论坛有相关的帖子,你搜搜看。
设备在进入睡眠以后,你就收不到广播了。可以考虑拿个WakeLock,不用的时候释放掉,这样CPU不会休眠,但是比较费电。
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,