您现在的位置是:首页 > 文章详情

Android -- 程序判断手机ROOT状态,获取ROOT权限

日期:2017-07-01点击:670

判断手机是否具有ROOT权限                                                           

复制代码
/** * 判断手机是否ROOT */ public boolean isRoot() { boolean root = false; try { if ((!new File("/system/bin/su").exists()) && (!new File("/system/xbin/su").exists())) { root = false; } else { root = true; } } catch (Exception e) { } return root; }
复制代码

上面返回的参数就知道手机是否具有ROOT权限了。

向ROOT权限发送请求信息,以获取ROOT权限                                    

此方法不涉及底层, 这种方式需要用户点击确认才可以获取.

复制代码
public class MainActivity extends Activity { /** * 创建 */ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 返回系统包名  String apkRoot = "chmod 777 " + getPackageCodePath(); RootCommand(apkRoot); } /** * 应用程序运行命令获取 Root权限,设备必须已破解(获得ROOT权限) * * @param command * 命令: String apkRoot="chmod 777 "+getPackageCodePath(); * RootCommand(apkRoot); * @return 应用程序是/否获取Root权限 */ public static boolean RootCommand(String command) { Process process = null; DataOutputStream os = null; try { process = Runtime.getRuntime().exec("su"); os = new DataOutputStream(process.getOutputStream()); os.writeBytes(command + "\n"); os.writeBytes("exit\n"); os.flush(); process.waitFor(); } catch (Exception e) { Log.d("*** DEBUG ***", "ROOT REE" + e.getMessage()); return false; } finally { try { if (os != null) { os.close(); } process.destroy(); } catch (Exception e) { } } Log.d("*** DEBUG ***", "Root SUC "); return true; } }
复制代码

我是天王盖地虎的分割线                                                                 

 




本文转自我爱物联网博客园博客,原文链接:http://www.cnblogs.com/yydcdut/p/3884690.html,如需转载请自行联系原作者

原文链接:https://yq.aliyun.com/articles/361936
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章