【问题标题】:How do I prevent the user from closing my app?如何防止用户关闭我的应用程序?
【发布时间】:2013-04-07 11:44:25
【问题描述】:

我有一个将在餐厅中使用的 android 应用程序,所以我希望用户不能退出该应用程序。 用户唯一能做的就是使用应用程序。

(如果可能只有管理员可以退出应用程序,通过登录或重新启动设备,我不知道哪种方式最好)。

有解决方案或其他方法吗?

【问题讨论】:

  • 我想不出任何用户不应该控制他的设备或应用程序的情况。同样在极端情况下,用户只需关闭设备(拉出电池)并重新启动设备,而无需再次重新启动所述应用程序。
  • 您正在寻找的是 Kiosk 模式应用程序,我记得在 4.2 上读到过,可以编写行为会像这样工作的主屏幕应用程序:commonsware.com/blog/2013/02/20/android-4p2-for-kiosk-apps.html
  • @MasterChief 他想在餐厅内使用该应用程序,他不希望他的员工在工作时使用该死的新安卓手机玩愤怒的小鸟!明白了吗?
  • @StyleMe 你明白了! ;) 不是为员工服务,而是为客户服务。客户可以在平板电脑上看到餐厅的菜单;该设备不是他们的智能手机/平板电脑,但它是我的
  • @Nerd 然后在下面查看我的答案。

标签: android locking exit


【解决方案1】:

你可以overrideonBackPressed方法

@Override 
public void onBackPressed(){  
  Toast.MakeText(getApplicationContext(),"You Are Not Allowed to Exit the App", Toast.LENGTH_SHORT).show();
}

这将防止后退按钮退出应用程序。

然后你需要override 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);
}

编辑:对于具有 android 版本 4.0.xx 的新设备,您还必须 override recent apps button 希望对你有帮助。

【讨论】:

  • 您的“主页按钮覆盖”代码属于应用程序还是 HomeScreen 应用程序?
  • App,这个代码是去年发布的,所以我不能保证它现在可以工作。
猜你喜欢
  • 2012-07-30
  • 1970-01-01
  • 2015-07-01
  • 2014-04-18
  • 2019-09-18
  • 1970-01-01
  • 2011-02-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多