代码获取device是否有root权限
来源:互联网 发布:手机验钞灯软件2.0 编辑:程序博客网 时间:2024/05/16 15:03
一:
/**
* 判断当前手机是否有ROOT权限* @return
*/
public boolean isRoot(){
boolean bool = false;
try{
if ((!new File("/system/bin/su").exists()) && (!new File("/system/xbin/su").exists())){
bool = false;
} else {
bool = true;
}
Log.d(TAG, "bool = " + bool);
} catch (Exception e) {
}
return bool;
}
二:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
doSU();
}
@Override
protected void onResume() {
super.onResume();
doSU();
}
private void doSU() {
try {
Process process = Runtime.getRuntime().exec("su");// (这里执行是系统已经开放了root权限,而不是说通过执行这句来获得root权限)
DataOutputStream os = new DataOutputStream(process.getOutputStream());
// os.writeBytes("ifconfig eth0 192.168.18.122\n");
os.writeBytes("exit\n");
os.flush();
/*
* //如果已经root,但是用户选择拒绝授权,e.getMessage() = write failed: EPIPE (Broken pipe)
//如果没有root,,e.getMessage()= Error running exec(). Command: [su] Working Directory: null Environment: null
*/
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
三:
// 判断机器Android是否已经root,即是否获取root权限
public static boolean haveRoot() {
if (!mHaveRoot) {
int ret = execRootCmdSilent("echo test"); // 通过执行测试命令来检测
if (ret != -1) {
mHaveRoot = true;
} else {
Log.i(TAG, "not root!");
}
} else {
Log.i(TAG, "mHaveRoot = true, have root!");
}
return mHaveRoot;
}
// 执行命令但不关注结果输出
public static int execRootCmdSilent(String cmd) {
int result = -1;
DataOutputStream dos = null;
try {
Process p = Runtime.getRuntime().exec("su");
dos = new DataOutputStream(p.getOutputStream());
dos.writeBytes(cmd + "\n");
dos.flush();
dos.writeBytes("exit\n");
dos.flush();
p.waitFor();
result = p.exitValue();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (dos != null) {
try {
dos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return result;
}
- 代码获取device是否有root权限
- Android应用程序获取ROOT权限的方法(android中如何通过代码检测是否有root权限?)
- Android应用程序获取ROOT权限的方法(android中如何通过代码检测是否有root权限?)
- 是否有Root权限
- 获取本机号码,手机型号,是否有root权限
- Android中通过代码检测系统是否有root权限
- android中如何通过代码检测是否有root权限?
- Android 代码判断是否获取ROOT权限(转)
- 判断手机是否ROOT 代码实现+ Android 操作系统 获取Root权限 原理解析
- Android 检测是否有ROOT权限
- Android 检测是否有ROOT权限
- Android 检测是否有ROOT权限
- 判断Android是否有root权限
- 判断Android是否有root权限
- 判断手机是否有root权限
- 判断手机是否有ROOT 权限
- Android机器是否有Root权限判断
- 安卓判断是否有Root权限
- Android 蓝牙自动配对
- cpp 9.10
- Linux中Weblogic启动异常
- Mybatis源码分析--返回值ResultType和ResultMap
- 神经网络程序设计学习心得
- 代码获取device是否有root权限
- mvc框架封装(二)路由类篇
- mysql数据类型详解
- XML
- JavaScript继承详解(二)
- node深入理解系列
- >>使用云服务器要注意什么。
- Qt新建线程的方法(四种办法,很详细,有截图)
- C库函数多线程