在显示顶部和底部导航栏之前禁用/询问密码

问题描述 投票:1回答:2

在为平板电脑开发客户端调查应用程序时,我意识到我必须禁用通知面板,以防万一,以防万一有趣的客户试图成为一个聪明的***。

我正在使用非root设备,所以使用this中的反射回答不是一个选项。

虽然添加getWindow().addFlags(WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY);会起到作用,但它也会禁用其他所有内容。


我开始请求应用程序的全屏幕只是为了隐藏顶部栏,但这对底部导航栏没有任何作用。

requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(
                WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

因此我使用Immersive Full-Screen Mode。它确实隐藏了顶部和底部条形,但当用户向上或向下滑动时,它们会再次出现。

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    if (hasFocus) {
        mDecorView.setSystemUiVisibility(
                View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                        | View.SYSTEM_UI_FLAG_FULLSCREEN
                        | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
    }
}

该设备可在Android 4.4上运行

I am looking for a way to completely disable them or (best case scenario) ask for a password before showing them again.

android android-4.4-kitkat android-windowmanager android-immersive
2个回答
4
投票

如果我理解你的问题,你正在寻找的是一个单一目的设备,你可以使用startLockTask()函数实现你想要的,如果设备运行Android 5及更高版本,如此处所述https://developer.android.com/work/cosu.html#emm-solutions

设备所有者必须在setLockTaskPackages中包含您的应用程序包。设置可以进入锁定任务模式的软件包需要由EMM设置您可以调用isLockTaskPermitted来验证您的软件包是否已被setLockTaskPackages列入白名单。您的活动调用startLockTask()将用户锁定到当前任务的请求阻止启动其他应用程序,设置和主页按钮要退出,您的活动必须调用stopLockTask()只能在以前称为startLockTask()的活动上调用此应用程序时应调用该活动用户面对onResume()onPause()

通过使用这里所述的操作,您似乎可以在低于5的Android版本上实现相同的功能:http://www.andreas-schrade.de/2015/02/16/android-tutorial-how-to-create-a-kiosk-mode-in-android/

概观

通过禁用可用于离开应用程序的各种Android功能来实现Kiosk模式。以下功能受到影响:

  • 后退按钮
  • 主页按钮
  • 最近的应用程序按钮
  • 电源按钮
  • 音量按钮

0
投票

可能比你想要的更多的工作,但你可以开发一个自定义启动器,以防止退出调查应用程序,或立即在退出启动器上重新启动它,在这种情况下是默认的主屏幕和活动启动界面......这至少会工作在Android的爱人版本上。我希望它可以做很多工作,尤其是“插入”用户可能会找到的所有小小的漏洞和漏洞(进入设置等)

© www.soinside.com 2019 - 2024. All rights reserved.