待机灭屏状态下,接收到短信点亮屏幕,无操作5秒或者10秒钟灭屏是如何处理的?
处理流程是在怎样的呢?
多谢指点。
处理流程是在怎样的呢?
多谢指点。
解决方案 »
- 读取通讯录返回NULL
- 求助呀,android调试显示source not found
- Android 画直线中getMeasuredHeight()和getMeasuredWidth()获得的是什么值?
- 怎么从surfaceview切换到其他的view呢
- android 获取本地IP地址
- 布局问题
- MOUNT_UNMOUNT_FILESYSTEMS的权限检查问题,请教
- listview下拉刷新问题。谁有这样的demo,要求刚打开页面时自动下拉刷新,而不是要手去拉的时候才下拉。各大软件都有这样的功能
- 移动通讯录APP,来电显示
- 对一些android经典代码的理解 求指导
- androidSDK应用能不能移植到iphone、ipad、windows、phone、surface系统中?
- ListView怎么清空以前的内容啊?
mWakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK
| PowerManager.ACQUIRE_CAUSES_WAKEUP
| PowerManager.ON_AFTER_RELEASE, TAG);在短信received的时候mWakeLock.acquire(5000);5000就是5秒.不知道这个是否是你需要的,如果是要更深的研究这几个函数怎么工作的,那估计得再研究下...
mWakeLock.acquire(5000); 这个是占用cpu的时间吧?过了这个时间就释放cpu锁了,不一定会灭屏吧?
acquire(long timeout)函数,在指定的timeout时间到时候,执行mReleaser的run函数,在run函数中又执行了release()函数,release()函数又调用了release(int flags)函数,可能是在release(int flags)函数中
(!mRefCounted || --mCount == 0)条件不满足,没有执行mService.releaseWakeLock(mToken, flags);导致的,还需要再确认下。
2L的操作是一个屏幕唤醒并保持操作,当不再需要持续唤醒时,也就是允许正常休眠时,需要把该锁释放。如果需要在释放WAKE_LOCK后,5~10秒内自动锁屏,需要设置系统自动锁屏时间为5~10秒之间的一个确定值。不同的机型自动锁屏时间设置效果可能会不一样。
暂时没有发现什么好办法,建议LZ查下是否存在使手机立即进入休眠状态的API.来短信后屏幕点亮但并没有解锁:
如果不解锁,使用FULL_WAKE_LOCK亮屏之后,需要关闭这个锁,然后换一个不亮屏的锁PARTIAL_WAKE_LOCK,不然不会灭屏的。主要hold住FFULL_WAKE_LOCK,屏幕就不会灭。
同样的代码在另外一个版本上就起作用,与系统设置的屏幕超时无关,接收到短信后10秒就会灭屏,可能还是framework层的处理有问题。