监听HOME按钮按下并重新启动活动
问题描述:
我试图阻止HOME键按键响应时服务运行监听HOME按钮按下并重新启动活动
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;
}
但每次当我按下HOME键的应用程序崩溃。
答
看到,出于安全原因,android开发人员本身不允许我们用home按钮来改变任何类型的行为。但即使如果你真的想禁用主页按钮,你可以通过添加以下代码来做到这一点:
@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;
}
你会得到一个错误? – 2012-08-07 03:54:48
你可以发布LOGCAT输出什么时候崩溃? – JeffS 2012-08-07 03:55:51