码迷,mamicode.com
首页 > 移动开发 > 详细

Android 通过广播接听Home键

时间:2015-08-18 16:19:35      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:android   通过广播接听home键   广播注册   广播销毁   

Android 通过广播接听Home键,这个方式是比较好用的一种方式

1.自定义广播

public class BroadcastReceiverEx extends 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键
            	Constants.isHome = true;
                //ToastUtil.showToast(context, "按了home键" + isHome);
            }else if(TextUtils.equals(reason, SYSTEM_HOME_KEY_LONG)){  
                //长按home键,显示最近使用的程序列表  
            	
            }  
        }   
    }  

}


2.注册广播

		//HOME键监听注册
		registerReceiver(new BroadcastReceiverEx(), new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));

3.按了Home键之后你想进行的操作

	@Override
	protected void onRestart() {
		super.onRestart();
		if (Constants.isHome) {
			// ToastUtil.showToast(context, ""+Constants.isHome);
			Constants.isHome = false;
			//按了HOME键重启的操作
			
		}
	}

4,判断是否是按了Home键

	/** 监听HOME键 */
	public static boolean isHome = false;

5.解除注册 (我是在Application中注册的所以我到onLowMemory中解除注解)

	@Override
	public void onLowMemory() {
		// TODO Auto-generated method stub
		super.onLowMemory();
		unregisterReceiver(broadcastReceiverEx);
	}


版权声明:本文为博主原创文章,未经博主允许不得转载。

Android 通过广播接听Home键

标签:android   通过广播接听home键   广播注册   广播销毁   

原文地址:http://blog.csdn.net/pcaxb/article/details/47752685

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!