两种方法,第一种,把你的程序定义为系统程序,然后绕过android的省电机制,让他保持后台运行。
第二种是定时点亮屏幕一下,以保持你程序的激活。
其实后台一直跑的程序是android最不提倡的,浪费电,而且没意义。比如lz说的计时工具,你完全可以通过计算开始时的时间,到点亮屏幕唤醒程序的时间之间的差值判断经过了多长时间,一直运行的计时除了耗费用户手机点亮没有任何其他意义
第二种是定时点亮屏幕一下,以保持你程序的激活。
其实后台一直跑的程序是android最不提倡的,浪费电,而且没意义。比如lz说的计时工具,你完全可以通过计算开始时的时间,到点亮屏幕唤醒程序的时间之间的差值判断经过了多长时间,一直运行的计时除了耗费用户手机点亮没有任何其他意义
解决方案 »
- 关于socket异常java.net.SocketException:Bad file number
- android4.0 user eng 编译模式 (s5pv310)
- android程序用ksoap2连接webservice问题,求高手解答
- 无法用Sprite类的setTransform()方法实现图片旋转
- SharedPreferences的getBoolean与putBoolean有问
- 如何实现和IPhone类似的特效
- 关于android中组件和控件的问题
- 如何将linux下的libz.a库编译到android环境下
- Android中类似与WinXP下自带的记事本
- button之下的控件如何实现响应?
- android如何取得压缩图片后的数据
- [android新手]在manifest里修改theme报错
你 把 传感器监听 放在 一个服务里 service 具体服务的使用方法 自己学吧。然后加上 cpu 保持唤醒的代码 if (linshi==true){
PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE);
m_wklk = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, this.getClass().getCanonicalName());
m_wklk.acquire(); //设置保持唤醒
}else{
if (m_wklk !=null && m_wklk.isHeld())
{
m_wklk.release();// 取消保持
m_wklk = null;
}
}