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);
	}


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值