echo 0 > /sys/class/leds/button-backlight/brightness
以上命令通过adb shell完美运行。但是当我尝试运行我的代码时没有任何效果。这是我的代码。
Process mSuProcess;
mSuProcess = Runtime.getRuntime().exec("su");
DataOutputStream mSuDataOutputStream = new DataOutputStream(mSuProcess.getOutputStream());
mSuDataOutputStream.writeBytes("echo 0 > /sys/class/leds/button-backlight/brightness \n");
mSuDataOutputStream.flush();
mSuDataOutputStream.close();
请帮我解决这个问题。
答案 0 :(得分:2)
如果您正在使用的设备未植根,则可能无效..
答案 1 :(得分:1)
Google原始su
二进制文件检查UID
,仅在root
或shell
用户运行时才有效。这就是当您以交互方式从adb shell运行命令时它的工作原理。要从Java应用程序运行此代码,您需要使用修补的su
二进制文件 - 不进行UID
检查。