有时候我们在一些酒店里看到一些控制设备的pad,当我们点击关闭按钮会关闭设备的同时把pad的屏幕给熄灭,我们今天就来尝试实现点击按钮熄灭屏幕这个功能。

1.在res下创建xml文件夹,创建一个lock_screen.xml的资源文件,源码如下:

<?xml version="1.0" encoding="utf-8"?>
<device-admin xmlns:android="http://schemas.android.com/apk/res/android"><uses-policies><!--锁定屏幕--><force-lock /></uses-policies>
</device-admin>

2.创建一个广播接收器并继承DeviceAdminReceiver

public class LockReceiver extends DeviceAdminReceiver {@Overridepublic void onEnabled(Context context, Intent intent) {super.onEnabled(context, intent);}@Overridepublic void onDisabled(Context context, Intent intent) {super.onDisabled(context, intent);}@Overridepublic void onReceive(Context context, Intent intent) {super.onReceive(context, intent);}
}

在AndroidManifest里面注册这个广播接收器

<!--熄屏-->
<receiver android:name=".utils.LockReceiver"android:permission="android.permission.BIND_DEVICE_ADMIN"><meta-data android:name="android.app.device_admin"android:resource="@xml/lock_screen" /><intent-filter><action android:name="android.app.action.DEVICE_ADMIN_ENABLED" /></intent-filter>
</receiver>

3.授权管理权限
在源码中我们需要手动授权管理权限,应用首次安装的时候会跳出一个授权的弹框,选择“允许”

//熄屏需要
private DevicePolicyManager policyManager;
private ComponentName componentName;//==============熄屏================
private void lockScreen() {if (policyManager.isAdminActive(componentName)) {policyManager.lockNow();}}private void activeManager() {Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, componentName);intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "screenLock");startActivity(intent);}//==============熄屏================

在声明周期的方法里面判断时候已经授权过管理权限

if (!policyManager.isAdminActive(componentName)) {activeManager();}

最后,在按钮的点击事件中调用lockScreen()方法就能够实现熄屏的功能。
注意:当我们在卸载这个应用的时候需要取消前面授权的管理权限,不然会提示无法卸载

Android 点击按钮熄屏相关推荐

  1. Android 点击按钮切换图片

    Android 点击按钮切换图片 效果如图: 点击后: 主要代码: //切换图片 but1.setBackgroundResource(R.drawable.qq1); 全部代码: public cl ...

  2. Android 点击按钮带有震动效果,使用Vibrator

    Vibrator 振动器,是手机自带的振动器哦,不要想成岛国用的那种神秘东西哦~~ Vibrator是Android给我们提供的用于机身震动的一个服务哦 更多详情可见官方API文档:Vibrator ...

  3. android 点击按钮来回切换图片

    android 点击切换图片 适合初学者,没什么好说的,很简单,不过方法我觉得挺精妙的. 1.添加图片 气死我了,选下面那个会报错(好像是因为分辨率太高(?)还是像素太高,忘了) activity_m ...

  4. android点击按钮打开一个网页,Android实现H5点击打开app或跳转指定界面

    Android实现H5点击打开app或跳转指定界面 本文原创,转载请注明出处.欢迎关注我的 简书. 安利一波我写的开发框架:MyScFrame喜欢的话就给个Star 场景 H5界面中的入口 有时候为了 ...

  5. Android 监听屏幕熄屏亮屏和主动唤醒屏幕

    // 监听熄屏和亮屏需要添加权限 <uses-permission android:name="android.permission.DEVICE_POWER"/> & ...

  6. android点击按钮弹出图片,用android做的一个简单的点击按钮显示图片的程序

    其实,在这之前我已经做了一个点击按钮的小程序,只不过它只是用来在界面上显示一些文字或者是用一个对话框来显示内容.按理说,做显示图片应该是不会有太大的问题了,可是问题还是来了.在我把这些个问题解决之后, ...

  7. android 刷机后熄屏断网

    情况说明 我的黑鲨1代刷机后,部署了Linux系统,但是只要熄屏后过一会儿就无法访问网络了.尝试了修改电量管理.关闭省电模式等,均无效. 经过很久很久的测试,终于找到了原因.Android6.0或更高 ...

  8. Android中点击按钮获取string.xml中内容并弹窗提示

    场景 AndroidStudio跑起来第一个App时新手遇到的那些坑: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103797 ...

  9. android点击按钮打开自带浏览器,android – 如何在默认浏览器或webview中打开按钮单击URL...

    如何在单击按钮后在Webview或默认浏览器中打开网址?目前,当我点击btn1按钮时,它会提示我从手机中选择一个浏览器.我想在默认浏览器或webview中打开此URL. 这是我的java代码: pub ...

最新文章

  1. R语言使用ggplot2可视化互相覆盖的直方图实战(Overlaying histograms)
  2. python学习音频-机器学习利用Python进行音频数据增强
  3. [翻译][1.4.2]Flask-Admin入门介绍
  4. 【Java 网络编程】TCP 连接 断开 机制 ( 三次握手 | 四次挥手 )
  5. JavaSE——IO(下)(Properties类、序列化与反序列化)
  6. android放在上个元素的左边代码,控件悬浮在某个控件之上 Android五大布局方式——相对布局(RelativeLayout)属性详解...
  7. yii2 html form,YII2中ajax通过post提交form表单数据报400错误的解决方法
  8. 软件工程期末复习题库
  9. vue.js快速入门 1
  10. 原版XP SP3安装程序集成识别SATA的AHCI驱动的解决方法
  11. 文献阅读笔记之 - - 48V锂电池管理系统的设计与实现(贾小龙)
  12. 【HAVENT原创】VUE2 经验问题汇总
  13. dnf怎么显示连接服务器失败怎么回事,登录DNF显示连接不到服务器怎么办 服务器连接失败解决方法...
  14. 静态IP设置(超详细)
  15. 树莓派+SSH反向代理实现远程开机
  16. 三菱iQ-R系列PLC控制系统项目全套资料
  17. 有可以提醒自己上下班打卡的手机便签软件吗?
  18. 【她的心你伤的起吗?】
  19. vba html 转化为 xlsx,使用VBA批量转换Excel格式,由.xls转换成.xlsx
  20. Windows CMD命令大全(值得收藏)

热门文章

  1. goodnotes导入文件需要密码,教你一招破解!
  2. 2020年大前端发展趋势
  3. 使用c#访问Access数据库时,提示找不到可安装的 ISAM
  4. Mybatis注解写SQL语句
  5. 全国进入裁员潮,到底是大厂难混?还是我技不如人?
  6. android4g通话掉到2g,手机一打电话网络就会从4G变成2G?因为你没开这个功能
  7. 免费下载IEEE802系列标准
  8. 大叔路遇女子被撞倒地 先拍照取证再扶人
  9. 格式转换软件可以识别到字幕文件吗?
  10. 如何从800万数据中快速捞出自己想要的数据?