一、代码实现如下

/*** @author 郭翰林* @date 2018/10/31 0031 10:04* 注释: 锁屏按钮和Home键监听*/
public class ScreenBroadcastReceiver extends BroadcastReceiver {private static volatile ScreenBroadcastReceiver instance;private boolean isReceiver;/*** 注释:获取单例* 时间:2018/10/31 0031 14:46* 作者:郭翰林** @return*/public static ScreenBroadcastReceiver getInstance() {synchronized (ScreenBroadcastReceiver.class) {if (instance == null) {instance = new ScreenBroadcastReceiver();}return instance;}}@Overridepublic void onReceive(Context context, Intent intent) {if (intent.getAction().equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) {UmsAgent.postHistoryLog(SysApplication.getInstance());}}/*** 注释:注册屏幕监听广播* 时间:2018/10/31 0031 10:05* 作者:郭翰林*/public void registerScreenReceive(Context context) {IntentFilter filter = new IntentFilter();filter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);if (!isReceiver) {isReceiver = true;context.registerReceiver(instance, filter);}}/*** 注释:取消注册屏幕监听广播* 时间:2018/10/31 0031 10:05* 作者:郭翰林*/public void unregisterScreenReceive(Context context) {if (isReceiver && instance != null) {isReceiver = false;context.unregisterReceiver(instance);}}
}复制代码

二、使用方式

 ScreenBroadcastReceiver.getInstance().registerScreenReceive(SysApplication.getInstance());
复制代码

这里有几个注意点:

  • Context传递applicationcontext,因为是单例,避免内存释放不了,引起不必要的BUG
  • 只需在应用启动页的onCreate()方法中使用调用一次即可
  • unregisterScreenReceive()反注册可调可不调,调用一次之后监听取消,再次调用registerScreenReceive()方法开启监听。

Android Home键、锁屏键监听相关推荐

  1. 一个监听home键锁屏键的工具类

    /** * Home键监听封装 */ public class HomeWatcher {static final String TAG = "HomeWatcher"; priv ...

  2. Android锁屏界面监听按键,Android 监听锁屏/开屏事件

    1. 两种方案 (1) 监听BroadcastReceiver (2)获取PowerManager事件 2.  BroadcastReceiver 2.1. 事件 总共有3个事件: Intent.AC ...

  3. ios设备home键 锁屏键区分

    两个方法: 1.查看屏幕的亮度 CGFloat screenBrightness = [[UIScreen mainScreen] brightness];if (screenBrightness & ...

  4. Android 通知栏,锁屏播放音乐,类似音乐播放器

    项目中需要用到播放音频的功能,想做一个类似酷狗.酷我这样的音频播放功能,在通知栏和锁屏时都可以操控音乐,开发中发现oppo reno手机在锁屏时不显示通知栏,研究了整整一天终于解决,特作记录,给遇到同 ...

  5. Android监听锁屏键、Home键

    项目用到了,记录下,返回键什么的物理按键使用onKeyDown监听就可以了,但是锁屏键.Home键不可以,这里使用广播监听两者状态变化 IntentFilter片段: mFilter.addActio ...

  6. 【拯救电源键】最详尽的android开发一键锁屏实例 提供免费源码+apk

    现在的手机屏幕越来越大,单手操控起来颇为不便,比如锁屏.电源键一般为实体键,经常按难免损耗.所以一键锁屏软件应运而生,既能方便地锁屏,还能减少电源键损耗.甚至许多手机厂商在自家的rom里集成了这个功能 ...

  7. esc键退出全屏 vue_解决了VUE在浏览器全屏下监听不到Esc键盘事件

    说明: 实测可以在谷歌.火狐.360 浏览器使用 解决了在浏览器全屏下监听不到键盘Esc事件 解决了取消全屏和全屏的同步问题,ESC按键下可以同步 以下是完整的代码, // data() { retu ...

  8. iphone4锁屏键坏了图文教你修复

    iphone4锁屏键坏了图文教你修复 来源:互联网 作者:佚名 时间:03-07 16:18:30 [大 中 小] iphone4锁屏键经常使用,所以坏的可能性是很大而且不在少说,接下来为你详细分享一 ...

  9. 把Bing改为锁屏键

     只是默认打开bing页面,却占了一个键的位置,可能也很少有机友去用得它.但是也有办法将它该做其他用途的, 比如我们现在说的改为锁屏键, 这样就不用每次按电源键, 或者等它自己锁了.这也是微软系统强大 ...

  10. Android 灭屏和亮屏的监听

    采用动态注册广播的方式对灭屏和亮屏进行监听 1.创建receiver class ScreenStatusReceiver extends BroadcastReceiver { ​String SC ...

最新文章

  1. Linux查看和剔除当前登录用户详细教程
  2. 快速学习Android开发知识点总结(磨砺营马剑威Android)
  3. 安装squid_CVE-2019-12527:Squid缓冲区溢出漏洞利用分析
  4. 一个小时快速搭建微信小程序教程
  5. Numpy 数组的切片操作
  6. JSF----事件处理----实时事件
  7. Atitit nlp文本挖掘和自然语言处理方面,常用的算法总结 比如tf-idf 目录 1.1. tf:词频,是指某个词在某篇文章中出现的频率 2 1.2. 去停用词算法 2 1.3. idf。
  8. 适合python组态软件_组态软件心得体会
  9. MACH SYSTEMS—总线接口转换工具
  10. http下载文件(常用方式+支持在线打开方式)
  11. 中级计算机网络管理员试卷,计算机网络管理员中级考试题及答案
  12. 2019秋期第二次机考总结
  13. Linux 下 va_start、va_end 学习及使用
  14. 亚马逊创建X509证书的几种方式
  15. 现代C++教程1X读书笔记
  16. 使用excel打开文件,修正长度过长的数字后几位变为0的问题
  17. CDH交换内存警告解决方法
  18. 最新北风网人工智能(完整版)
  19. ios手写_如何在iOS 10中发送手写和数字触摸消息
  20. ZOJ 3449 Doraemon's Number Game III

热门文章

  1. python基础知识点集锦一
  2. 如何使用cookie信息,完成自动登录
  3. 奥比中光相机的python采集代码
  4. word分词器、ansj分词器、mmseg4j分词器、ik-analyzer分词器分词效果评估
  5. GiveMeSomeCredit——信用评分卡模型
  6. 【渝粤教育】电大中专电子商务网站建设与维护 (4)作业 题库
  7. 【嵌入式算法】空间向量夹角公式及其应用
  8. Elixir服务器接收客户端消息01
  9. 新版仿微信支付生活缴费小程序源码+UniAPP内核
  10. [原创]个人收集有关计算机视觉和模式识别相关的网址