疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

如何监听home按键


 

  大家可能或多或少在开发过程中遇到过监听HOME键的需求,但是使出了浑身解数也不一定能够监听到,当然除开系统开发的童鞋哈,下面给大家介绍的方法我在项目中已经测试过了,是可行的,方法就是利用广播来实现。代码如下:

  classHomeKeyEventBroadCastReceiverextendsBroadcastReceiver{

  staticfinalStringSYSTEM_REASON="reason";

  staticfinalStringSYSTEM_HOME_KEY="homekey";//homekey

  staticfinalStringSYSTEM_RECENT_APPS="recentapps";//longhomekey

  @Override

  publicvoidonReceive(Contextcontext,Intentintent){

  Stringaction=intent.getAction();

  if(action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)){

  Stringreason=intent.getStringExtra(SYSTEM_REASON);

  if(reason!=null){

  if(reason.equals(SYSTEM_HOME_KEY)){

  //homekey处理点

  }elseif(reason.equals(SYSTEM_RECENT_APPS)){

  //longhomekey处理点

  }

  }

  }

  }

  }

  然后当然需要在onCreate里面注册该广播:

  receiver=newHomeKeyEventBroadCastReceiver();

  registerReceiver(receiver,newIntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));

  也需要在onDestroy里面解除该广播哦!