我有一个将被用于餐厅的安卓应用程序,所以我希望用户无法退出该应用程序。唯一可以让用户做的事情就是使用应用程序。(如果可能的话,只有管理员才能退出应用程序,通过登录或重新启动设备,我不知道哪种方法更好)。是否有解决方案或其他方法实现这一点?
Android只提供返回按钮覆盖功能。它不允许用户禁用主键和最近打开键。
但是,我们可以通过以下方式将主屏幕替换为我们的应用程序:首先,我们选择我们的应用程序作为启动器。因此,如果用户按Home键,则主屏幕会替换为我们的应用程序,并且它只会打开我们的应用程序。要实现此效果,请在清单文件中添加以下行:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
onBackPressed
方法。@Override
public void onBackPressed(){
Toast.MakeText(getApplicationContext(),"You Are Not Allowed to Exit the App", Toast.LENGTH_SHORT).show();
}
这将防止后退按钮退出应用程序。
然后,您还需要像覆盖主页按钮一样重写home button
。
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_HOME) {
Log.i("TEST", "Home Button"); // here you'll have to do something to prevent the button to go to the home screen
return true;
}
return super.onKeyDown(keyCode, event);
}
覆盖
最近使用的应用程序按钮
。希望这能帮助到您。