android - 使用 Java 向 Android 上的终端发送命令
问题描述
我是 Java 新手,我不知道如何通过代码发送终端命令。该设备使用 Android Nougat 7.1.2。我需要做的是在用户按下按钮后向终端发送以下命令“ su pm disable com.android.systemui ”。我需要建议如何做到这一点,我不知道这是否可能。抱歉这个愚蠢的问题。
注意:我最初的问题是永久停用系统中的导航栏和通知栏(我有 root 访问权限),这是我选择的解决方案。
谢谢阅读
解决方案
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
生机......
推荐阅读
- c# - 此配置部分不能在此路径中使用。当该部分锁定在父级别时会发生这种情况。默认情况下锁定是
- java - SpringBoot v1.5.14.RELEASE - 从测试资源文件夹读取文件
- html - 将多个 HTML 元素合并为一个 CSS 类以显示选定状态
- android - 运行“cordova build android” - AAPT:错误:找不到资源 android:attr/fontVariationSettings。\n android:attr/ttcIndex 未找到
- python - 更改(日期)x 轴刻度频率
- c# - 尝试从 dotnet 调用 oracle 函数在返回值时出错
- c++ - 为什么资源文件中“保存”后的空格会被删除?
- pandas - Grouby 过滤器、计算每个类别、持续时间并根据日期识别倒数第二个
- android - MotionLayout MotionHelper 淡出故障
- c# - 如何在 if 语句中检查冲突