技巧:监听android home键的实现方式

转自:http://blog.csdn.net/com360/article/details/6663586
更多参考:http://blog.csdn.net/dongxianfei/article/details/55049991

这个是我重新写的监听home键的方式,以前写的那些方式都不是很好用。现在的这种方式通过广播的方式监听home键,这个比较好使

1.首先是创建一个广播接受者

private BroadcastReceiver mHomeKeyEventReceiver = new BroadcastReceiver() {  
        String SYSTEM_REASON = "reason";  
        String SYSTEM_HOME_KEY = "homekey";  
        String SYSTEM_HOME_KEY_LONG = "recentapps";  
           
        @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 (TextUtils.equals(reason, SYSTEM_HOME_KEY)) {  
                     //表示按了home键,程序到了后台  
                    Toast.makeText(getApplicationContext(), "home", 1).show();  
                }else if(TextUtils.equals(reason, SYSTEM_HOME_KEY_LONG)){  
                    //表示长按home键,显示最近使用的程序列表  
                }  
            }   
        }  
    };  

2.注册监听

可以在Activity里注册,也可以在Service里面

//注册广播  
registerReceiver(mHomeKeyEventReceiver, new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));  

3、取消注册

在注册的Activity或Service的onDestory方法中要记得取消注册:

    @Override
    protected void onDestory() {
        super.onDestory();
       unregisterReceiver(mHomeKeyEventReceiver);
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容