android熄屏
Ⅰ android 程序如何实现熄灭屏幕
一. 前言
我们的Android应用程序很多需要和亮屏和熄屏打交道,比如闹钟的时候,需要保持亮屏,之后又需要熄屏。那么今天,我们来分析下这方面的功能。
二. 系统服务 --- PowerManager.java
顾名思义,PowerManager.java就是管理我们电源方面的功能的,当然也包括我们屏幕的亮和熄灭。没错,我们的应用程序就是通过这个系统服务来实现亮屏和熄屏的功能的。
1. 应用程序获取PowerManager服务, 我们可以这样书写:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
因为PowerManager是系统服务,所以它的生命周期不是应用程序所能控制的;应用程序只能通过系统,向系统请求获取PowerManager服务,然后系统把这个服务的应用给我们。
2. goToSleep()方法, 这个方法可以强制我们的屏幕熄屏。我们可以这样调用:
在上面拿到pm对象之后,这样调用 pm.goToSleep(SystemClock.uptimeMillis());
3. setBacklightBrightness()方法,这个方法可以设置背光的亮度,从0-255
三. 定时熄灭屏幕
那么这里,还可以介绍一个控制屏幕的方法就是PowerManager.WakeLock
顾名思义,WakeLock这个东西就是亮屏控制,这里说的亮屏,它定义了几种类型的亮屏。如下:
类型 cpu 屏幕 键盘
PARTIAL_WAKE_LOCK on off off
SCREEN_DIM_WAKE_LOCK on dim off
SCREEN_BRIGHT_WAKE_LOCK on Bright off
FULL_WAKE_LOCK on Bright Bright
由于它定义了这么多类型,每种类型可以指定相对应的部件工作和不工作。那么我们就可以利用这些类型,从最细粒度来控制我们的屏幕,控制我们的电源,从而让我们的电源工作时间尽可能的延长(大家都知道,智能手机的电池问题是一个硬伤, 每天一充电,有木有? 别人说用安卓手机的男人都是顾家好男人,因为他每天晚上都要回家充电。。^^).
好的,好的,闲话不扯,继续。。。
怎么使用这个WakeLock呢?我们可以这样写:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "TAG");
wakeLock.acquire();
//做我们的工作,在这个阶段,我们的屏幕会持续点亮
//释放锁,屏幕熄灭。
wl.release();
那么这里我们也可以这样使用,就是多少时间后熄灭屏幕
首先点亮屏幕
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "TAG");
wakeLock.acquire();
然后
mTimeHandler.postDelayed(new Runnable(){
public void run(){
wakeLock.release();
}
}, 10*1000);
嗯,延迟10s后熄灭屏幕。。。。
那么,这里要注意的是acquire()和release()要成对调用哦!也就是说,你申请了亮屏,过段时间,你要是释放它。
Ⅱ AndroidstudioAPP熄屏走的是什么方法
你可以试试后台设置,选择屏幕,设置常亮模式,这样应该不会再息屏了,或者手机关机重启也可以
Ⅲ 安卓手机如何让屏幕灭,而不锁屏
按以下步骤:设置,声音和显示,屏幕待机,然后就选择待机时长啦,最久好像才30分钟。
Ⅳ 手机息屏和休眠的区别,android
息屏是指手机屏幕灭了,但程序还在继续运行。
休眠是指手机屏幕灭了,程序也停止运行了!
Ⅳ android5.0怎样实现强制熄屏
获取电源管理器PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
设置相关api
pm.goToSleep(SystemClock.uptimeMillis());
PowerManager.WakeLock wakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "TAG"); wakeLock.acquire();
wakeLock.release();
Ⅵ android 关屏 如何保持程序继续运行
主要看第二个方法:(A,Bservice在两个进程中,所以要用到AIDL来跨进程)
在原本只有一个serviceA的情况下再声明一个serviceB,并为之新开启一个进程;
serviceA被杀死的时候,serviceB立刻重启serviceA;(在serviceB中重写ServiceConnection中的Connect和Disconnect方法,在disconnect中start和bindserviceA);
如下:在主服务StepService中的Disconnect方法中start和bindservice GuardService;
serviceB被杀死的时候,serviceA立刻重启serviceB;(在serviceA中重写ServiceConnection中的Connect和Disconnect方法,在disconnect中start和bindserviceB)
两个进程互相守护
Ⅶ 安卓手机一直自己锁屏熄屏怎么回事,很频繁
手机支持调整自动锁屏时间,可以打开设定-显示-屏幕自动关闭-15秒/30秒/1分钟等-进行时间选择即可。
如果锁屏时间出现异常,建议查看是否下载了第三方软件所导致,可以卸载尝试或者备份数据,恢复出厂设置尝试。
Ⅷ Android应用禁止屏幕休眠的几种方法
方法一:添加休眠锁,休眠锁必须成对出现。
方法二:在Activity布局中设置Windows属性进行控制,但是一定要在加载布局之前执行,此种方法的局限性是只有在Activity类中有效,Activity退出时失效。
方法三:在View布局中添加属性,此种方法的好处是不一定非要在Activity界面运行时屏幕常亮才有效,View启动后可以自主设置。
View的xml布局中加入:
android:KeepScreenOn="true"
View.setKeepScreenOn(true);
View.setKeepScreenOn(false);
代码中执行是否保持屏幕常亮:
Ⅸ 怎样让android系统休眠啊,关屏后还一直唤醒着,很耗电
让android系统休眠,关屏后还一直唤醒着,很耗电的解决办法如下:
系统运行的时候有很多软件后台运行着,可以卸载一些不常用的软件,来减低系统的负荷。
可以将系统屏幕关闭时间减少,来减少屏幕开启时间过长,打开手机设置,点击显示,找到屏幕自动关闭选项,将时间设置到最低。
Ⅹ 如何开发Android9以上息屏显示
实现芯片显示和你手机的硬件是有关系,如果你手机的屏幕用的是进口的那种韩国三星的LED,屏幕一般就可以使用新平台消息屏显示,但是如果你用的是LCD屏幕,那根本就不可能,因为LCD屏幕它是不能显示黑色,他黑色也会发光,所以耗电特别大,所以LCD的屏幕就不能使用息屏显示。。。。