Android监听锁屏键、Home键
项目用到了,记录下,返回键什么的物理按键使用onKeyDown监听就可以了,但是锁屏键、Home键不可以,这里使用广播监听两者状态变化
IntentFilter片段:
mFilter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);//home键mFilter.addAction(Intent.ACTION_SCREEN_ON); //开屏mFilter.addAction(Intent.ACTION_SCREEN_OFF);//锁屏mFilter.addAction(Intent.ACTION_USER_PRESENT);//解锁
onRecevier片段:
public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) { String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY); if (reason != null) { if (mListener != null) { if (reason.equals(SYSTEM_DIALOG_REASON_HOME_KEY)) { // 短按home键 mListener.onHomePressed(); } else if (reason .equals(SYSTEM_DIALOG_REASON_RECENT_APPS)) { // 长按home键 mListener.onHomeLongPressed(); } } } } if(action.equals(Intent.ACTION_SCREEN_ON)){ mListener.onScreenOn(); }else if(action.equals(Intent.ACTION_SCREEN_OFF)){ mListener.onScreenOff(); } else{// 解锁//TODO}
最后提醒下,对于锁屏操作,由于先走的activity的onPause,onStop,所以不可以像以往反注册广播样在onPause里进行反注册,否则的话会接收不到锁屏操作
转载于:https://www.cnblogs.com/gyzboy/p/4648904.html
Android监听锁屏键、Home键相关推荐
- android 强制锁屏代码,Android 监听锁屏、解锁、开屏 功能代码
1.首先定义 ScreenListener package com.app.lib; import android.content.BroadcastReceiver; import android. ...
- android锁屏代码分析,Android 监听锁屏、解锁、开屏 功能代码
1.首先定义 ScreenListener package com.app.lib; import android.content.BroadcastReceiver; import android. ...
- android 监听锁屏 权限,Android中监听锁屏变化和防止锁屏
Android app中可能存在某些可视化耗时操作,需要防止锁屏. 一.监听锁屏 添加权限 首先来看如何监听锁屏,使用BroadcastReceivercaset来监听 1.锁屏监听 public c ...
- Android锁屏界面监听按键,Android 监听锁屏/开屏事件
1. 两种方案 (1) 监听BroadcastReceiver (2)获取PowerManager事件 2. BroadcastReceiver 2.1. 事件 总共有3个事件: Intent.AC ...
- Android 监听锁屏、解锁、开屏 操作
1.首先定义 ScreenListener package com.app.lib; import android.content.BroadcastReceiver; import android ...
- Android 监听横竖屏切换
Android 监听横竖屏切换 重写 Activity 中的 onConfigurationChanged 方法 override fun onConfigurationChanged(newConf ...
- Android 监听手机按下Home键
系统本身有这个广播,只需要监听这个广播就可以了! private BroadcastReceiver mHomeKeyEventReceiver = new BroadcastReceiver() { ...
- Android监听横竖屏切换
偶然在项目中用到播放视频时,需要横屏将视频全屏播放,所以需要监听屏幕的横竖屏切换事件. ConfigChanges,用于捕获手机状态的改变,当横竖屏切换,屏幕尺寸变化,弹出键盘,系统设置改变等条件,就 ...
- Android监听截屏事件
截屏方案对比(截屏事件没有同一的api) 方案一:利用FileObserver监听某个目录中资源变化情况 优点:操作简单 缺点: 不同的手机,默认截屏图片储存的文件夹可能不同 不同的手机,事件回调可能 ...
最新文章
- Vue2.x开发饿了么项目(header部分)
- 【javaweb】Session原理以及浏览器禁止Cookie之后服务器如何获取Session
- X小时速通《物联网导论》
- 南京大学c语言试卷,2007年4月南京大学C语言期中试题.doc
- c# 审批流引擎_小熊OA:流程引擎才能真正起到管理价值!
- 最长上升子序列nlogn算法
- PyTorch 1.0 中文文档:多进程最佳实践
- python连接sqlserver 多条sql语句后提交_利用python操作sqllite
- GitHub 五万星登顶,程序员命令行最全技巧宝典!
- python的os为啥找不到文件_python使用os.listdir和os.walk获得文件的路径
- [转载] python中sort()与sorted()
- SQL Server Service Borker 1
- 读取图片信息并存储数据为CSV文件
- 宁愿吃生活的苦,也不愿坚持学习
- 移动端H5如何调用相册和相机上传图片、音频、视频
- Smartbi数据报表系统,国内性价比最高的报表工具
- Linux攻关之基础模块五 Vim
- python 使用wxpy实现获取微信好友列表 头像 群成员
- java 面试知识点总结
- Rabbitmq用户角色