如何防止用户关闭应用程序 - Android 4.0.3

时间:2012-08-01 11:59:15

标签: android action fullscreen kiosk

所以我的问题是:如果可以阻止用户关闭应用程序。

问题是因为我无法隐藏操作栏而我只使用平板电脑进行工作时间注册。所以,如果有人按下主页按钮或后退按钮是不可接受的。

所以我想知道我能以某种方式处理onclose事件吗?

是否可以全屏打开应用程序(没有操作栏)?

5 个答案:

答案 0 :(得分:4)

如果按下主页按钮,则无法阻止用户关闭应用程序。这就是它的全部想法。否则,您可能会将用户留在您的应用程序中而无法退出,而是重新启动它的设备。

答案 1 :(得分:4)

简短的回答是否定的。

很长的答案是,您可以让用户很难关闭您的应用。可以使用的一些技巧包括:reopen you app as soon as it closesdisable keys like back and power和最后disable the home button

答案 2 :(得分:3)

用户将始终能够关闭应用程序,否则会有程序滥用它并导致问题,但是您可以采取一些步骤来更好地处理它。

例如,如果您运行的远程服务可以检查应用程序是否正在运行,并且可以通过多种方式了解,那么它可以启动再次启动应用程序的意图。

知道某个程序是否存活的一种方法是让它定期调用该服务,基本上进行心跳检查,如果在某段时间内没有调用它,则应该比某个时间段大2或3倍。预计的登记入住时间,然后解雇意图。

如果您检测到按下了主页按钮,还有其他步骤可能有效,但我需要仔细考虑这些步骤。我认为这取决于你的期望,因为在你的程序中捕获某人会非常糟糕。

答案 3 :(得分:2)

试试这个......

//Remove title bar

this.requestWindowFeature(Window.FEATURE_NO_TITLE);


//Remove notification bar

this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

REF-> How to hide the title bar for an Activity in XML with existing custom theme

防止用户.......

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if(keyCode==KeyEvent.KEYCODE_BACK || keyCode==KeyEvent.KEYCODE_HOME){
                    // pass some msg ......
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

答案 4 :(得分:2)

所以这是我的解决方案......

首先安装SureLock应用程序的试用版。然后在该应用程序中禁用操作栏。就是这样。

如果您想再次查看操作栏,则需要HideBar app

所有这些仅适用于有根设备......