【问题标题】:Listening for HOME button press and relaunch activity监听 HOME 按钮按下并重新启动活动
【发布时间】:2012-08-07 03:46:03
【问题描述】:

我试图在服务运行时阻止 HOME 按钮 KeyPress

protected void onPause () {
   if (isMyServiceRunning())
   {
       Intent Act2Intent = new Intent(PhysicalTheftDialog.this, PhysicalTheftDialog.class);              
       startActivity(Act2Intent);
   }
   else {

   }
}

private boolean isMyServiceRunning() {
    ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
    for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
        if ("nyp.android.project.MyService".equals(service.service.getClassName())) {
            return true;
        }
    }
    return false;
}

但是每次我按下我的主页按钮时,应用程序都会崩溃。

【问题讨论】:

  • 您能否发布 LOGCAT 崩溃时的输出?

标签: android android-service android-homebutton


【解决方案1】:

请看,出于安全原因,android 开发人员本身不允许我们使用主页按钮更改任何类型的行为。但是即使你真的想禁用主页按钮,你也可以通过添加以下代码来做到这一点:

@Override
public void onAttachedToWindow() {
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
    super.onAttachedToWindow();
}

@Override    
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if(keyCode == KeyEvent.KEYCODE_HOME) {
        Log.i("Home Button","Clicked");
    }

    if(keyCode==KeyEvent.KEYCODE_BACK) {

        finish();
    }
    return false;
}

【讨论】:

  • @dythe 那么如何在 Android 4+ 中修复它?
猜你喜欢
  • 1970-01-01
  • 2011-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-19
  • 1970-01-01
相关资源
最近更新 更多