【发布时间】:2019-02-13 16:05:24
【问题描述】:
我正在尝试制作一个允许我切换手机缩放调节器的应用程序(是的,我已经扎根了)。经过大量搜索,我发现我通常需要运行命令关闭process = Runtime.getRuntime().exec(cmd);
但是,经过多次尝试,该应用似乎没有正确响应。到目前为止,这是我的代码。
String RunCommand(String cmd) {
StringBuffer cmdOut = new StringBuffer();
Process process;
try{
process = Runtime.getRuntime().exec(cmd);
InputStreamReader r = new InputStreamReader(process.getInputStream());
BufferedReader bufReader = new BufferedReader(r);
char[] buf = new char[4096];
int nRead = 0;
while ((nRead = bufReader.read(buf)) > 0){
cmdOut.append(buf, 0, nRead);
}
bufReader.close();
try {
process.waitFor();
}catch (InterruptedException e){
e.printStackTrace();
}
}catch (IOException e) {
e.printStackTrace();
}
return cmdOut.toString();
}
事实上,我不需要输出文件,因为我正在运行的命令实际上并不需要输出。即echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
当我运行应用程序时,它要么挂起,要么什么都不做。不知道我做错了什么?非常感谢任何帮助!
【问题讨论】:
标签: android shell android-studio terminal runtime.exec