解决screen off 后service中的sensor不传数据问题
来源:互联网 发布:福建省广电网络 编辑:程序博客网 时间:2024/04/27 08:44
http://code.google.com/p/android/issues/detail?id=3708描述的同我的问题一样,也是在service中注册了一个sensor,可是一旦手机screen off了, 覆写的 public void onSensorChanged(SensorEvent event) 就不被框架调用了,这个问题困扰了很多天,在http://code.google.com/p/android/issues/detail?id=3708看到了46楼的解决方法,尝试了下,但是仍然没有效果,后来偶然将 wakeLock相关代码放置到 mSensorManager.registerListener(mStepDetector, mAccelerometer, SensorManager.SENSOR_DELAY_FASTEST);之后,运行发现问题解决了。这样调动应该与我自身的逻辑有关,也说明了,这个问题是有方法解决的,不一定要升级rom,更换rom什么的,本来打算在http://code.google.com/p/android/issues/detail?id=3708回复的,结果因为我们都知道的原因,回复返回了400 error..哎。。。。只好简单记录与此
here is my way:
public class StepService extends Service {
....
public void onCreate() {
...
mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
mSensorManager.registerListener(mStepDetector, mAccelerometer, SensorManager.SENSOR_DELAY_FASTEST);
....
registerScreenOffRevceiver();/* register screen off broadcast receiver ,same as Comment 46 by bruno.albuquerque, Jan 6, 2010,这里就是注册了一个screen off的broadcastReceiver,在onRceive函数中,先mSensorManager.unregisterListener一下,然后再重新 mSensorManager.registerListener,感觉好像是更新下。。至今不知为什么,求解答*/
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "StepService");
wakeLock.acquire();
}
public void onDestroy()
{
......
wakeLock.release();
}
.........
}
Hope this helps.
- 解决screen off 后service中的sensor不传数据问题
- Getting Android Sensor Events While The Screen is Off
- 解决ABBYY licensing service 不可用问题
- 探寻Android系统中的Old CRT OFF-Screen Animation
- Turning Off Screen Locking
- 关于android当中Service读取应用中的内存数据不更新问题
- [sensor] sensor service & hal
- 怎样解决不同页面来回切换后,原来数据又不丢失的问题
- 一个莫名奇妙问题的解决,数据大了后form不提交了
- 解决更新sdk manager 中的sdk tools后与ADT的版本不匹配问题
- CCUserDefault crash后数据不保存问题
- 打开usb tethering时,在screen off后,保持wifi 一直alive.
- On-screen Rendering vs. Off-screen Rendering
- 解决Struts2中的s:optiontransferselect排序后的数据获取的问题
- 解决Struts2中的s:optiontransferselect排序后的数据获取的问题
- 解决HTTP数据不更新问题——no-cache在HTTP通信协议中的应用
- 解决HTTP数据不更新问题——no-cache在HTTP通信协议中的应用收藏
- 解决HTTP数据不更新问题——no-cache在HTTP通信协议中的应用
- setuid和setgid
- SQL学习(7)分组查询group by
- pgp key
- jQuery live() 实现方法
- http://mirrors.163.com/ubuntu-releases/11.10/
- 解决screen off 后service中的sensor不传数据问题
- linux下网络编程(TCP)
- ssh tunnel
- 数据库的启动停止命令
- Google的面试题
- 看到这个你能明白很多为什么要定义new,为什么函数不要定义
- 64位整数
- ARM GCC内嵌汇编
- AIR文件上传与文件断点续传方式下载