WakeLock
在Android中,申请WakeLock可以让你的进程持续执行即使手机进入睡眠模式,比较实用的是比如:后台有网络功能,注册销量统计SDAC,可以保证操作持续进行.
方法: 在操作之前加入
PowerManager pm = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, Constants.TAG);
wakeLock.acquire();
别忘了在操作完毕之后释放掉
if (wakeLock != null) {
wakeLock.release();
wakeLock = null;
}
例子:
public void setWakeMode(Context context, int mode) {
boolean washeld = false;
if (mWakeLock != null) {
if (mWakeLock.isHeld()) {
washeld = true;
mWakeLock.release();
}
mWakeLock = null;
}
PowerManager pm = (PowerManager) context
.getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(mode | PowerManager.ON_AFTER_RELEASE,
CloudGamePlayer.class.getName());
mWakeLock.setReferenceCounted(false);
if (washeld) {
mWakeLock.acquire();
}
}
更多相关文章
- Android多线程下安全访问数据库
- Android(安卓)横竖屏操作
- Android(安卓)和 前端的类似点(持续更新)
- Android(安卓)RxJava使用介绍(三) RxJava的操作符
- 为开发人员准备的 10 个 Android(安卓)教程
- 提高android ContentProvider的效率
- 转:iPhone Android(安卓)Web开发(概要)
- Android(安卓)多线程保证操作同步(同步锁的俩种)
- Android:requestWindowFeature应用程序窗体显示状态操作