手机打开BT,并设置可以被发现,按Power键进入睡眠,然后用其它手机搜索BT设备,可以搜索到到设备,但是发起匹配时,手机屏幕不会被点亮。从log看,系统已经被唤醒了,但是很快又睡下去了。 不知有没有像在WM下SetSystemPowerState(On)这样的API让系统进入ON状态,把屏幕点亮,或有什么比较合理的方法让系统进入ON状态。

解决方案 »

  1.   

    试试这段:PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
     PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "My Tag");
     wl.acquire();
       ..screen will stay on during this section..
     wl.release();
      

  2.   

    刚刚做Android对整个系统不是太熟悉,所以上面的code都不知道如何加才能和底层联系起来, 还有就是如果设备之前是匹配的,在进入睡眠,然后通过BT向其发文件,可以将屏幕点亮的
      

  3.   

    2部分在 AndroidManifest.xml 里声明权限在代码中如2楼所示点亮屏幕,此时你就掌握了一把锁,你不释放锁屏幕就一直亮着,非电,呵呵,会被人骂的.释放分为两种,一种是必须成对释放,什么是成对不用解释了吧.另一种是非成对释放,只要是同一把锁的标示,一次释放就将所有的锁都释放了.PowerManager会轮询是否有人加锁,如果有它就停止系统默认的息屏时间,直道所有的锁释放,重新开始计时.
      

  4.   

    android设备屏幕暗掉之后,一开始不是真的睡眠,过一段时间cpu睡过去了,就真的完全睡眠了。如果你想避免这个问题,就像5楼说的lock是一个方法。android你可以申请一个wakelock,你不释放,cpu就不会完全睡死。
    希望对你有用。
    这个问题在wifi连接上也会有体现。
    苹果的pad屏幕暗掉之后一直还能一直收到mail,说明wifi没有断掉。三星的就会在15分钟之后把wifi断掉。所以苹果的耗电也比较厉害。