项目用到了,记录下,返回键什么的物理按键使用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键相关推荐

  1. android 强制锁屏代码,Android 监听锁屏、解锁、开屏 功能代码

    1.首先定义 ScreenListener package com.app.lib; import android.content.BroadcastReceiver; import android. ...

  2. android锁屏代码分析,Android 监听锁屏、解锁、开屏 功能代码

    1.首先定义 ScreenListener package com.app.lib; import android.content.BroadcastReceiver; import android. ...

  3. android 监听锁屏 权限,Android中监听锁屏变化和防止锁屏

    Android app中可能存在某些可视化耗时操作,需要防止锁屏. 一.监听锁屏 添加权限 首先来看如何监听锁屏,使用BroadcastReceivercaset来监听 1.锁屏监听 public c ...

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

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

  5. Android 监听锁屏、解锁、开屏 操作

    1.首先定义 ScreenListener  package com.app.lib; import android.content.BroadcastReceiver; import android ...

  6. Android 监听横竖屏切换

    Android 监听横竖屏切换 重写 Activity 中的 onConfigurationChanged 方法 override fun onConfigurationChanged(newConf ...

  7. Android 监听手机按下Home键

    系统本身有这个广播,只需要监听这个广播就可以了! private BroadcastReceiver mHomeKeyEventReceiver = new BroadcastReceiver() { ...

  8. Android监听横竖屏切换

    偶然在项目中用到播放视频时,需要横屏将视频全屏播放,所以需要监听屏幕的横竖屏切换事件. ConfigChanges,用于捕获手机状态的改变,当横竖屏切换,屏幕尺寸变化,弹出键盘,系统设置改变等条件,就 ...

  9. Android监听截屏事件

    截屏方案对比(截屏事件没有同一的api) 方案一:利用FileObserver监听某个目录中资源变化情况 优点:操作简单 缺点: 不同的手机,默认截屏图片储存的文件夹可能不同 不同的手机,事件回调可能 ...

最新文章

  1. Vue2.x开发饿了么项目(header部分)
  2. 【javaweb】Session原理以及浏览器禁止Cookie之后服务器如何获取Session
  3. X小时速通《物联网导论》
  4. 南京大学c语言试卷,2007年4月南京大学C语言期中试题.doc
  5. c# 审批流引擎_小熊OA:流程引擎才能真正起到管理价值!
  6. 最长上升子序列nlogn算法
  7. PyTorch 1.0 中文文档:多进程最佳实践
  8. python连接sqlserver 多条sql语句后提交_利用python操作sqllite
  9. GitHub 五万星登顶,程序员命令行最全技巧宝典!
  10. python的os为啥找不到文件_python使用os.listdir和os.walk获得文件的路径
  11. [转载] python中sort()与sorted()
  12. SQL Server Service Borker 1
  13. 读取图片信息并存储数据为CSV文件
  14. 宁愿吃生活的苦,也不愿坚持学习
  15. 移动端H5如何调用相册和相机上传图片、音频、视频
  16. Smartbi数据报表系统,国内性价比最高的报表工具
  17. Linux攻关之基础模块五 Vim
  18. python 使用wxpy实现获取微信好友列表 头像 群成员
  19. java 面试知识点总结
  20. Rabbitmq用户角色

热门文章

  1. DNF域名解析全过程
  2. APP测试面试题汇总
  3. Ubuntu 快捷键使用说明(一)--截图
  4. 吉西他滨纳米载药细胞膜囊泡|红细胞囊泡包载的纳米药物(齐岳试剂)
  5. 设计模式可以戏说么?
  6. Android自学资源大整合
  7. linux账号密码输入后闪退,修复ssh无法连接(ssh输入完密码自动退出)
  8. redis存取数据流
  9. 奥比中光 astra 乐视三合一体感摄像头采集深度图彩色图并保存
  10. C语言实现自动出题、单词拼写等功能,附带管理员模式