我想在shell中写入echo -e "AT\r" > /dev/smd0
,然后得到它的响应。
响应将在\dev\smd0
中。
我在谷歌上搜索发现:
Runtime r = Runtime.getRuntime();
process = r.exec("su");
process = r.exec("echo -e \"AT\\r\" > /dev/smd0");
但它不起作用。
我也不知道该怎么读。
如果我安装了终端模拟器,我可以编写命令并用
cat \dev\smd0
获得其响应。 最佳答案
尝试like this:
try {
Runtime r = Runtime.getRuntime();
Process process = r.exec(" su -c 'echo -e \"AT\\r\" > /dev/smd0; cat /dev/smd0' ");
BufferedReader in = new BufferedReader(
new InputStreamReader(process.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
此外,您还需要根用户访问您的手机。