Android Home键、锁屏键监听
一、代码实现如下
/*** @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键、锁屏键监听相关推荐
- 一个监听home键锁屏键的工具类
/** * Home键监听封装 */ public class HomeWatcher {static final String TAG = "HomeWatcher"; priv ...
- Android锁屏界面监听按键,Android 监听锁屏/开屏事件
1. 两种方案 (1) 监听BroadcastReceiver (2)获取PowerManager事件 2. BroadcastReceiver 2.1. 事件 总共有3个事件: Intent.AC ...
- ios设备home键 锁屏键区分
两个方法: 1.查看屏幕的亮度 CGFloat screenBrightness = [[UIScreen mainScreen] brightness];if (screenBrightness & ...
- Android 通知栏,锁屏播放音乐,类似音乐播放器
项目中需要用到播放音频的功能,想做一个类似酷狗.酷我这样的音频播放功能,在通知栏和锁屏时都可以操控音乐,开发中发现oppo reno手机在锁屏时不显示通知栏,研究了整整一天终于解决,特作记录,给遇到同 ...
- Android监听锁屏键、Home键
项目用到了,记录下,返回键什么的物理按键使用onKeyDown监听就可以了,但是锁屏键.Home键不可以,这里使用广播监听两者状态变化 IntentFilter片段: mFilter.addActio ...
- 【拯救电源键】最详尽的android开发一键锁屏实例 提供免费源码+apk
现在的手机屏幕越来越大,单手操控起来颇为不便,比如锁屏.电源键一般为实体键,经常按难免损耗.所以一键锁屏软件应运而生,既能方便地锁屏,还能减少电源键损耗.甚至许多手机厂商在自家的rom里集成了这个功能 ...
- esc键退出全屏 vue_解决了VUE在浏览器全屏下监听不到Esc键盘事件
说明: 实测可以在谷歌.火狐.360 浏览器使用 解决了在浏览器全屏下监听不到键盘Esc事件 解决了取消全屏和全屏的同步问题,ESC按键下可以同步 以下是完整的代码, // data() { retu ...
- iphone4锁屏键坏了图文教你修复
iphone4锁屏键坏了图文教你修复 来源:互联网 作者:佚名 时间:03-07 16:18:30 [大 中 小] iphone4锁屏键经常使用,所以坏的可能性是很大而且不在少说,接下来为你详细分享一 ...
- 把Bing改为锁屏键
只是默认打开bing页面,却占了一个键的位置,可能也很少有机友去用得它.但是也有办法将它该做其他用途的, 比如我们现在说的改为锁屏键, 这样就不用每次按电源键, 或者等它自己锁了.这也是微软系统强大 ...
- Android 灭屏和亮屏的监听
采用动态注册广播的方式对灭屏和亮屏进行监听 1.创建receiver class ScreenStatusReceiver extends BroadcastReceiver { String SC ...
最新文章
- Linux查看和剔除当前登录用户详细教程
- 快速学习Android开发知识点总结(磨砺营马剑威Android)
- 安装squid_CVE-2019-12527:Squid缓冲区溢出漏洞利用分析
- 一个小时快速搭建微信小程序教程
- Numpy 数组的切片操作
- JSF----事件处理----实时事件
- Atitit nlp文本挖掘和自然语言处理方面,常用的算法总结 比如tf-idf 目录 1.1. tf:词频,是指某个词在某篇文章中出现的频率	2 1.2. 去停用词算法	2 1.3. idf。
- 适合python组态软件_组态软件心得体会
- MACH SYSTEMS—总线接口转换工具
- http下载文件(常用方式+支持在线打开方式)
- 中级计算机网络管理员试卷,计算机网络管理员中级考试题及答案
- 2019秋期第二次机考总结
- Linux 下 va_start、va_end 学习及使用
- 亚马逊创建X509证书的几种方式
- 现代C++教程1X读书笔记
- 使用excel打开文件,修正长度过长的数字后几位变为0的问题
- CDH交换内存警告解决方法
- 最新北风网人工智能(完整版)
- ios手写_如何在iOS 10中发送手写和数字触摸消息
- ZOJ 3449 Doraemon's Number Game III