过去太久了,忘记怎么判断了。这里有两种方式判断手机是否开启root权限。现在银行类app基本都会提示用户root状态下的使用风险。获得超级用户权限后,系统下会有su这个文件,因此判断有没有该文件。
/** * 方式一 * */ if(new File("/system/bin/su").exists()||new File("/system/xbin/su").exists()){ return true; } return false;
/** * 方式二 * */ Process process = null; DataOutputStream os = null; try{ process = Runtime.getRuntime().exec("su"); os = new DataOutputStream(process.getOutputStream()); os.writeBytes("exit\n"); os.flush(); int exitValue = process.waitFor(); if (exitValue == 0){ return true; } else{ return false; } } catch (Exception e){ Log.d("*** DEBUG ***", "Unexpected error - Here is what I know: " + e.getMessage()); return false; } finally{ try{ if (os != null){ os.close(); } process.destroy(); } catch (Exception e){ e.printStackTrace(); } }