我有一个申请。我试图禁用主页按钮。很多人说在Android 4.0及以上版本中做不了。因此我决定在按主页按钮时重新加载相同的活动。我按照下面的代码。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
super.onKeyDown(keyCode, event);
if (keyCode == KeyEvent.KEYCODE_HOME) {
System.out.println("==============================");
Intent i = new Intent(getBaseContext().getPackageManager()
.getLaunchIntentForPackage(
getBaseContext().getPackageName()));
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
| Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
return true;
}
return false;
}
按主页按钮时无法得到任何回复。你能告诉我我错了吗?
答案 0 :(得分:1)
此密钥无法被拦截,因此KEYCODE_HOME
不会被发送给您。
答案 1 :(得分:1)
无法覆盖主页按钮。
public static final int KEYCODE_HOME
在API级别1中添加 密钥代码常量:Home键。此密钥由框架处理,从未传递给应用程序。
来源: http://developer.android.com/reference/android/view/KeyEvent.html
答案 2 :(得分:0)
这是一个刷新按钮方法,但它在我的应用程序中运行良好。在finish()中你杀了实例
refresh = (Button)findViewById(R.id.refresh);
refresh.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
onRestart();
}
});
@Override
protected void onRestart() {
// TODO Auto-generated method stub
super.onRestart();
Intent i = new Intent(lala.this, lala.class); //your class
startActivity(i);
finish();
}