android保持服务不休眠(持续运行)以及唤醒屏幕的方法
假设有这样一个应用场景,一个服务一直在默默的工作(比如即时地获取服务器的消息),即使在屏幕已经因为长时间无操作而关闭,或者用户按了电源键让屏幕关闭,手机进入休眠状态,他必须依然在工作中。一旦从服务器获取到消息,他能点亮屏幕,然后进行一些处理工作。
1、让服务持续运行而不受手机休眠的影响,要这样处理:
在onCreate里面添加:
pm = (PowerManager)MyApplicationHolder.getContext().getSystemService(Context.POWER_SERVICE); wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "myservice"); wl.acquire();
在onDestroy里添加:
wl.release();
这样就完成了,这个服务里如果做了一个定时器的话,他会一直运行。
2、让手机从休眠状态唤醒的方法:
KeyguardManager km = (KeyguardManager)MyApplicationHolder.getContext().getSystemService(Context.KEYGUARD_SERVICE); KeyguardLock kl = km.newKeyguardLock("unlock"); kl.disableKeyguard(); PowerManager pm = (PowerManager)MyApplicationHolder.getContext().getSystemService(Context.POWER_SERVICE); PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP|PowerManager.FULL_WAKE_LOCK, "bright"); wl.acquire(); wl.release();
注意,使用这个方法屏幕不能设锁。需android.permission.DISABLE_KEYGUARD 权限
android保持服务不休眠(持续运行)以及唤醒屏幕的方法相关推荐
- Linux电脑睡眠后黑屏打不开,Win10系统下电脑休眠或睡眠无法唤醒屏幕黑屏打不开的解决方法...
经常会遇到有用户反映,在使用Windows10系统的过程中,离开电脑一段时间,电脑就会自动进入到睡眠的情况,正常情况下,我们敲击键盘鼠标或者按主机关机键可以唤醒电脑,但是就是有些用户出现了无法唤醒电脑 ...
- Android app开发:息屏状态下唤醒屏幕
方式1:申请wake_lock唤醒屏幕 //权限: <uses-permission android:name="android.permission.WAKE_LOCK" ...
- android保持服务不休眠,Android开发保持屏幕常亮和CPU不休眠唤醒状态
安卓手机 APP 开发,有的时候需要屏幕长时间亮着,也就是不锁屏,这时CPU会一直处于不休眠唤醒状态.下面介绍两种方法. 方法一:通过 PowerManager 实现. 此种方法会在软件安装时用户可以 ...
- Android 11.0 framework 增加音量+音量-键唤醒屏幕的功能
目录 1.概述 2.framework 增加音量+音量-键唤醒屏幕的功能的核心代码
- android app 唤醒屏幕
1,添加权限: <uses-permission android:name="android.permission.WAKE_LOCK" /> 2,代码如下: // 唤 ...
- android启动服务的生命周期,android Service启动运行服务 生命周期
Service Android中的service类似于windows中的service,service一般没有用户操作界面,它运行于系统中不容易被用户发觉, 可以使用它开发如监控之类的程序. 一.步骤 ...
- android service 休眠,保持Android Service在手机休眠后继续运行的方法
最近项目中用到了service进行计时,在连接USB的情况下一切正常,但是拔掉USB后发现,手机进入休眠后service停止了工作.最后通过 PowerManager.WakeLock 在屏幕休眠后保 ...
- 三十九、Android原理 不需要关闭后台运行程序
不用在意剩余内存的大小,其实很多人都是把使用其他系统的习惯带过来来了.android大多应用没有退出的设计其实是有道理的,这和系统对进程的调度机制有关系.如果你知道java,就能更清楚这机制了.其实和 ...
- android系统(63)---Jobscheduler运行机制详解
android之Jobscheduler运行机制详解 如果想在将来达到一定条件下执行某项任务时,可以在一个实现了JobService的子类的onStartJob方法中执行这项任务,使用JobInfo的 ...
最新文章
- 2018年IT市场最大的技术趋势和热点预测
- BaseModelOutputWithPoolingAndCrossAttentions的API
- 自定义 Layer 属性的动画
- html制作滚动游戏,HTML标签marquee实现滚动效果的简单方法(必看)
- (转)创业的注意事项
- 函数式编程filter、map、reduce
- [FlareOn2]very_success [FlareOn3]Challenge1
- (zz)Sql Server 2005中的架构(Schema)、用户(User)、角色(Role)和登录(Login)(三)
- 转-Kafka【第一篇】Kafka集群搭建
- 三百英雄服务器维护2020,酸败英雄梦服维护公告《300英雄梦服》将定于2020年8月3...
- BitMap-BitSet(JDK1.8)基本使用入门
- qt 运动控制软件 界面_开源库分享----一款跨平台图形界面的百度网盘不限速客户端...
- matlab 排列组合
- python对文件操作方法是_Python文件操作
- ascII码,asc2码表
- linux发包密码,linux版本CC发包工具教程
- 移动端webUI框架(HTML5手机框架)
- 分享几个蛋白质互作网站——String (二)多基因蛋白互作
- Azure云centos7安装图形化界面
- 全局快门和卷帘快门(Global shutter and Rolling shutter)