如何在activity中控制屏幕点亮与关闭
16lz
2021-12-04
[DESCRIPTION]
如何在Activity中调用Screenoff和Screenon接口
[SOLUTION]
Android中通过各种Lock锁对电源进行控制,需要注意的是加锁和解锁必须成对出现。
//启用屏幕常亮功能
PowerManagerpm=(PowerManager)getSystemService(POWER_SERVICE);
wakeLock=pm.newWakeLock(PowerManager.FULL_WAKE_LOCK|PowerManager.ACQUIRE_CAUSES_WAKEUP,myPowerManager.TAG);
wakeLock.acquire();
//关闭屏幕常亮功能
if(wakeLock!=null){wakeLock.release();}
需要注意的是,您需要在mainfest权限获取
要进行电源的操作需要在AndroidManifest.xml中声明该应用有设置电源管理的权限。
<
uses-permission
android:name
="android.permission.WAKE_LOCK"
/>
<
uses-permission
android:name
="android.permission.DEVICE_POWER"
/>
另外,根据flags不同的值,实现不同级别的电源管理。
关于intflags各种锁的类型对CPU、屏幕、键盘的影响:
PARTIAL_WAKE_LOCK:保持CPU运转,屏幕和键盘灯有可能是关闭的。
SCREEN_DIM_WAKE_LOCK:保持CPU运转,允许保持屏幕显示但有可能是灰的,允许关闭键盘灯
SCREEN_BRIGHT_WAKE_LOCK:保持CPU运转,允许保持屏幕高亮显示,允许关闭键盘灯
FULL_WAKE_LOCK:保持CPU运转,保持屏幕高亮显示,键盘灯也保持亮度.
如何在Activity中调用Screenoff和Screenon接口
[SOLUTION]
Android中通过各种Lock锁对电源进行控制,需要注意的是加锁和解锁必须成对出现。
//启用屏幕常亮功能
PowerManagerpm=(PowerManager)getSystemService(POWER_SERVICE);
wakeLock=pm.newWakeLock(PowerManager.FULL_WAKE_LOCK|PowerManager.ACQUIRE_CAUSES_WAKEUP,myPowerManager.TAG);
wakeLock.acquire();
//关闭屏幕常亮功能
if(wakeLock!=null){wakeLock.release();}
需要注意的是,您需要在mainfest权限获取
要进行电源的操作需要在AndroidManifest.xml中声明该应用有设置电源管理的权限。
<
uses-permission
android:name
="android.permission.WAKE_LOCK"
/>
<
uses-permission
android:name
="android.permission.DEVICE_POWER"
/>
另外,根据flags不同的值,实现不同级别的电源管理。
关于intflags各种锁的类型对CPU、屏幕、键盘的影响:
PARTIAL_WAKE_LOCK:保持CPU运转,屏幕和键盘灯有可能是关闭的。
SCREEN_DIM_WAKE_LOCK:保持CPU运转,允许保持屏幕显示但有可能是灰的,允许关闭键盘灯
SCREEN_BRIGHT_WAKE_LOCK:保持CPU运转,允许保持屏幕高亮显示,允许关闭键盘灯
FULL_WAKE_LOCK:保持CPU运转,保持屏幕高亮显示,键盘灯也保持亮度.
更多相关文章
- Android中解决手机屏幕横竖屏切换问题
- Android全屏及屏幕切换
- Android屏幕元素层次结构
- android 输入法弹出键盘把listview顶上去,保留顶部标题栏位置不动
- Android(安卓)屏幕横竖切换详解
- Android(安卓)监听软键盘弹起和收起事件
- Android(安卓)屏幕切换和onConfigurationChanged不调用的原因
- Android计算器布局
- Android屏幕元素层次结构