我可以在android应用程序中禁用systemui吗?

我可以在android应用程序中禁用systemui吗?,android,root,kiosk-mode,Android,Root,Kiosk Mode,我用这个答案为我的应用程序实现了一个信息亭模式: 我使用Kingo Root为平板电脑设置根目录,然后执行以下命令: adb shell > su > pm disable com.android.systemui > 我正在构建一个只在我们的设备上用作信息亭的应用程序 它工作得很好,但是。。我想从Android应用程序本身执行系统ui的禁用和启用 是否可以从应用程序中执行系统命令 /** * Uses Root access to enable and disable

我用这个答案为我的应用程序实现了一个信息亭模式:

我使用Kingo Root为平板电脑设置根目录,然后执行以下命令:

adb shell >
 su >
 pm disable com.android.systemui >
我正在构建一个只在我们的设备上用作信息亭的应用程序

它工作得很好,但是。。我想从Android应用程序本身执行系统ui的禁用和启用

是否可以从应用程序中执行系统命令

/**
 * Uses Root access to enable and disable SystemUI.
 * @param enabled Decide whether to enable or disable.
 */
public void setSystemUIEnabled(boolean enabled){
    try {
        Process p = Runtime.getRuntime().exec("su");
        DataOutputStream os = new DataOutputStream(p.getOutputStream());
        os.writeBytes("pm " + (enabled ? "enable" : "disable") 
                + " com.android.systemui\n");
        os.writeBytes("exit\n");
        os.flush();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
很好。用法:

setSystemUIEnabled(true);  // Enable SystemUI
setSystemUIEnabled(false); // Disable SystemUI

我想试试这个,但我有一个问题。由于我使用的是一个为傻瓜设计的root软件(一键root访问),我想知道这个类是否有办法知道它是否有root访问权限;在代码的某个地方。刚刚测试过,效果很好。解释了是否存在根访问的确定。如果这个答案对您有帮助,请接受。这会导致设备重新启动(hp 7 slate)。这是设备问题还是在我们对操作系统进行根本性更改时所有设备都会出现这种情况?手动键入命令时,它是否也会重新启动?它的行为方式应该与通过adb键入命令的方式完全相同。在测试期间,我刚刚禁用了一个用户应用程序而不是SystemUI,因此无法验证该行为。嘿,这对我不起作用。我有一个根nexus设备,它具有根访问权限,但当我从终端或应用程序尝试时,导航按钮仍然可见???有什么建议吗?禁用com.android.systemui安全吗?或者在某些设备上会发生什么不好的事情吗?@JohnyTex:这是一个特殊情况,我需要用户除了使用我的应用程序之外,不能做任何事。这个设备是我的公司所有的,放在信息亭里。这样做几乎不可能退出你所使用的任何应用程序,因为不再有主页按钮、后退按钮或通知下拉区域。我遇到了禁用systemui没有帮助的情况——即使禁用了,它仍然会运行。请参阅:禁用时如何运行?