• Android -- Home按键


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

    • HOME键之来龙去脉

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

    首先,自定义一个BroadcastReceiver:

    class HomeKeyEventBroadCastReceiver extends BroadcastReceiver {  
      
        static final String SYSTEM_REASON = "reason";  
        static final String SYSTEM_HOME_KEY = "homekey";//home key  
        static final String SYSTEM_RECENT_APPS = "recentapps";//long home key  
          
        @Override  
        public void onReceive(Context context, Intent intent) {  
            String action = intent.getAction();  
            if (action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)) {  
                String reason = intent.getStringExtra(SYSTEM_REASON);  
                if (reason != null) {  
                    if (reason.equals(SYSTEM_HOME_KEY)) {  
                        // home key处理点  
                          
                    } else if (reason.equals(SYSTEM_RECENT_APPS)) {  
                        // long home key处理点  
                    }  
                }  
            }  
        }  
    }

    其次,生成且注册之

    receiver = new HomeKeyEventBroadCastReceiver();  
    registerReceiver(receiver, new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));

    这样,我们就可以在app中进行HOME键的处理了!

    我是天王盖地虎的分割线                                                              

    参考:http://blog.csdn.net/imyfriend/article/details/8293399

  • 相关阅读:
    C#之线程
    C#反射与进程
    C# XML文件的读取
    超简单的js实现提示效果弹出以及延迟隐藏的功能
    使用JavaScript随机生成数字混合字母的验证码
    用JavaScript写一个简单的倒计时,可以应用在发送短信验证码的“59秒后重新发送验证短信”
    php中curl、fsockopen的应用
    待研究
    做网站用UTF8还是GB2312?
    ECshop 数据库表结构
  • 原文地址:https://www.cnblogs.com/yydcdut/p/3851243.html
Copyright © 2020-2023  润新知