android - 如何向android发送命令然后得到它的答案?

标签 android shell terminal runtime.exec

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

此外,您需要手机的 root 访问权限。

关于android - 如何向android发送命令然后得到它的答案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9306813/

相关文章:

android - 在我的案例中,操作栏自定义样式

java - 如何定义点击了哪个ListView?

java - 在智能手机上播放通过蓝牙从 SensorTile 接收的音频 (STEVAL-STLKT01V1)

linux - 移动 30 分钟前的文件

用点创建mysql数据库

android - 应用程序未被授权使用 Firebase 身份验证,但可以在测试手机上正常工作

linux - 在服务器部署中使用 shell 生成随 secret 码

python - 在 Linux 中安装 Django 时出现无效语法错误

python - 如何制作全局可调用的python程序?

python - 在 digitalocean Ubuntu 16.04 中安装新版本的 Python 后无法运行 Django 控制台