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

判断手机是否具有ROOT权限

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/**
      * 判断手机是否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权限

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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
   
    
   
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值