我想禁用所有3个按钮后退按钮任务和主页按钮仅适用于1个活动,我找到了一种后退和任务按钮工作方式。
但是我面临着主页按钮禁用的问题..如果禁用有点复杂,只需在用户按下主页按钮时重启我的应用活动,也会对我有用!
任何建议或帮助我该怎么办?
以下是我的代码
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode==KeyEvent.KEYCODE_HOME)
{
return false;
}
else if (keyCode==KeyEvent.KEYCODE_BACK)
{
}
if (keyCode==KeyEvent.KEYCODE_TAB)
{
}
else {
return super.onKeyUp(keyCode, event);
}
return false;
}
答案 0 :(得分:2)
如果有人在寻找以下答案可能有帮助, 只需在清单活动代码
中添加这一行 android:launchMode="singleTop"
即
<activity
android:name=".Ui.MainActivity"
android:label="@string/app_name"
android:launchMode="singleTop"
android:theme="@style/AppTheme.NoActionBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
答案 1 :(得分:0)
不幸的是,Android的新版本阻止我们覆盖主页按钮...对不起!
但是,按下按钮时可以执行某些操作。您需要覆盖onPause()
编辑:我试过这个,它有效(尽管它真的很难看......):
@Override
public void onPause() {
super.onPause();
Log.d(TAG, "Pause");
Intent i = new Intent(MainActivity.this, MainActivity.class);
startActivity(i);
}
答案 2 :(得分:0)
您可以尝试在清单中的活动中使用此行。
<category android:name="android.intent.category.HOME"/>
使用此功能,当用户按下主页按钮时,系统将询问您是否要打开一次或始终,选择始终,当用户按下主页按钮将打开带有声明的分类主页的活动
答案 3 :(得分:-1)
我认为你需要重写onKeyDown
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_HOME)) {
//stuff here!
return true;
}
return super.onKeyDown(keyCode, event);
}