您的位置:首页 > 其它

在ADB中ping可用,但在程序里调用ping总是报错“permission denied”

2016-12-31 13:35 274 查看
大神们,

写了个安卓ping的程序,但是每次总是返回 2.

查看errorstream,发现错误信息是 “permission denied”。

我用的手机是root 过的,而且ping命令在ADB状态下是可用的。

我用的代码就是之前在论坛里搜到的,看之前的帖子,好像这个代码是好用的。

查了半天也没有找出结果,万般无奈,上来发帖求助。

哪位大神行行好, 帮帮新人?

Process p = Runtime.getRuntime().exec("/system/bin/ping -c "+ pingNum + " " + m_strForNetAddress); // 10.83.50.111  m_strForNetAddress

                    int status = p.waitFor(); 

 

                    if (status == 0) {  

                        result="success"; 

                    }    

                    else 

                    { 

                        result="failed"; 

                    } 

                    String lost = new String();  

                    String delay = new String();  

                    BufferedReader buf = new BufferedReader(new InputStreamReader(p.getInputStream()));

                     BufferedReader errorReader = new BufferedReader(new InputStreamReader(p.getErrorStream()));

                    String str = new String();  

 

//读出所有信息并显示                    

                    while((str=buf.readLine())!=null){  

                        str = str + "\r\n";

                        tv_PingInfo.append(str);

}


运行后,status 为2, errorReader 中的字符串是“Permission denied”,手机是root过的, ADB中用ping也是可用的。

谁能给我解惑,谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: