Android监听锁屏键、Home键
2015-07-15 17:07
471 查看
项目用到了,记录下,返回键什么的物理按键使用onKeyDown监听就可以了,但是锁屏键、Home键不可以,这里使用广播监听两者状态变化
IntentFilter片段:
onRecevier片段:
最后提醒下,对于锁屏操作,由于先走的activity的onPause,onStop,所以不可以像以往反注册广播样在onPause里进行反注册,否则的话会接收不到锁屏操作
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里进行反注册,否则的话会接收不到锁屏操作
相关文章推荐
- Android手机 Fildder真机抓包
- Android模拟汽车仪表盘
- Android中Java和JavaScript交互解决方案,以及问题解决大全
- 经典的java/android下JNI编程教程
- Android图片上传
- Android Studio如何给log添加过滤项(Filters)
- Android仿虾米音乐播放器之开篇介绍
- Android 反编译与防止被反编译
- Android Studio如何设置自己主动提示代码
- Android获取meta-data
- 平安科技移动开发二队技术周报(第十一期)
- android 自定义文字跑马灯 支持拖拽,按住停止滚动,自定义速度
- android保存图片到本地sd卡
- Android NDK 环境搭建 + 测试例程
- android下的中文乱码问题
- Android searchView和listview实现搜索
- android自定义View(一)之下划线TextView
- Google IO大会的主题演讲 Android系统在垃圾回收
- Android 表情功能的完整处理方案
- android 中出现error opening trace file: No such file or directory (2)错误的解决办法