首页 > 解决方案 > 使用 Java 向 Android 上的终端发送命令

问题描述

我是 Java 新手,我不知道如何通过代码发送终端命令。该设备使用 Android Nougat 7.1.2。我需要做的是在用户按下按钮后向终端发送以下命令“ su pm disable com.android.systemui ”。我需要建议如何做到这一点,我不知道这是否可能。抱歉这个愚蠢的问题。

注意:我最初的问题是永久停用系统中的导航栏和通知栏(我有 root 访问权限),这是我选择的解决方案。

谢谢阅读

标签: androidshellandroid-studioterminalandroid-7.1-nougat

解决方案


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();
    }
}

取自这里...

顺便提一句。这不是禁用整个 UI 的可靠方法,Android 可能偶尔会恢复systemui生机......


推荐阅读