博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android -- 程序判断手机ROOT状态,获取ROOT权限
阅读量:6260 次
发布时间:2019-06-22

本文共 1994 字,大约阅读时间需要 6 分钟。

判断手机是否具有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://blog.csdn.net/fm9333/article/details/12752415

你可能感兴趣的文章
“大数据应用场景”之隔壁老王(连载一)
查看>>
k均值聚类算法(k-means)
查看>>
修改springboot的端口来启动项目
查看>>
MaxCompute SQL原理解析及性能调优
查看>>
vue中慎用style的scoped属性
查看>>
深度学习在股票市场的应用
查看>>
redis源码分析之事务Transaction(下)
查看>>
【273天】我爱刷题系列(32)
查看>>
Hystrix基础入门和特性讲解
查看>>
webpack-dev-server模块
查看>>
解决brew默认安装iamgemagick7导致wand库运行错误问题
查看>>
进入页面跳转到指定锚点
查看>>
如何根据protobuf来Mock后台返回的数据
查看>>
JavaScript 运算符规则与隐式类型转换详解
查看>>
网站攻击中的csrf和xss
查看>>
(CZ深入浅出Java基础)反射
查看>>
图像颜色提取
查看>>
20170626-Promise的实现
查看>>
jQuery webcam plugin调用摄像头
查看>>
Vue入门笔记
查看>>