游戏中常常需要监听android HOME键,当HOME键下压时,往往需要做一些状态保存,音效停止等操作,那么如何做,才能监听到HOME键呢?我们知道HOME是系统键,app中无法通过onKey这些函数来处理。要妥善的处理HOME键,首先需要看看HOME键下压时,系统做了些什么。


一、HOME键之来龙去脉

请见下图:



二、app中对于HOME键广播事件的接收

首先,自定义一个BroadcastReceiver:

[java] view plain copy
  1. classHomeKeyEventBroadCastReceiverextendsBroadcastReceiver{
  2. staticfinalStringSYSTEM_REASON="reason";
  3. staticfinalStringSYSTEM_HOME_KEY="homekey";//homekey
  4. staticfinalStringSYSTEM_RECENT_APPS="recentapps";//longhomekey
  5. @Override
  6. publicvoidonReceive(Contextcontext,Intentintent){
  7. Stringaction=intent.getAction();
  8. if(action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)){
  9. Stringreason=intent.getStringExtra(SYSTEM_REASON);
  10. if(reason!=null){
  11. if(reason.equals(SYSTEM_HOME_KEY)){
  12. //homekey处理点
  13. }elseif(reason.equals(SYSTEM_RECENT_APPS)){
  14. //longhomekey处理点
  15. }
  16. }
  17. }
  18. }
  19. }
其次,生成且注册之

[java] view plain copy
  1. receiver=newHomeKeyEventBroadCastReceiver();
  2. registerReceiver(receiver,newIntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));
这样,我们就可以在app中进行HOME键的处理了!

更多相关文章

  1. Nginx系列教程(六)| 手把手教你搭建 LNMP 架构并部署天空网络电影
  2. Android核心分析之一
  3. App测试在IOS和android系统中的区别
  4. [置顶] Android访问控制系统测试与评估
  5. 面试问题之:Android中消息系统模型和Handler Looper
  6. 浅入浅出 Android(安卓)安全:第四章 Android(安卓)框架层安全
  7. Android(安卓)5.0 Camera系统源码分析(1):CameraService启动流程
  8. Symbian生不逢时,被迫闭源是必然结局
  9. Android权限管理详解

随机推荐

  1. 【Android】Android之Copy and Paste
  2. RxJava 1.x 学习
  3. Android中文文档——安装SDK资料
  4. 诺基亚N900安装Android 2.2改版系统Nitdr
  5. android中模拟器中实现GPS坐标改变
  6. Error:(17, 0) Could not find method an
  7. [Android UI]android-lockpattern图案解
  8. Android消息机制源码解析(一)——消息的载
  9. Android异步消息机制Handler详解,源码剖析
  10. 关于 Android 下的自动化测试之二