Android应用程序获取ROOT权限的方法(android中如何通过代码检测是否有root权限?)

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;
    }

}
时间: 2024-10-31 07:39:54

Android应用程序获取ROOT权限的方法(android中如何通过代码检测是否有root权限?)的相关文章

Android开发之获取LayoutInflater对象的方法总结_Android

本文实例讲述了Android开发之获取LayoutInflater对象的方法.分享给大家供大家参考,具体如下: 在写Android程序时,有时候会编写自定义的View,使用Inflater对象来将布局文件解析成一个View.本文主要目的是总结获取LayoutInflater对象的方法. 1.若能获取context对象,可以有以下几种方法: LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYO

Android开发之获取LayoutInflater对象的方法总结

本文实例讲述了Android开发之获取LayoutInflater对象的方法.分享给大家供大家参考,具体如下: 在写Android程序时,有时候会编写自定义的View,使用Inflater对象来将布局文件解析成一个View.本文主要目的是总结获取LayoutInflater对象的方法. 1.若能获取context对象,可以有以下几种方法: LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYO

Android使用getIdentifier()获取资源Id的方法_Android

本文实例讲述了Android使用getIdentifier()获取资源Id的方法.分享给大家供大家参考,具体如下: int i= getResources().getIdentifier("icon", "drawable", getPackageName()) ; if(i>0) {Log.i("aa","aa");} else {Log.i("vbv","aa");} 或者:

Android使用getIdentifier()获取资源Id的方法

本文实例讲述了Android使用getIdentifier()获取资源Id的方法.分享给大家供大家参考,具体如下: int i= getResources().getIdentifier("icon", "drawable", getPackageName()) ; if(i>0) {Log.i("aa","aa");} else {Log.i("vbv","aa");} 或者:

新 Android 恶意程序获取 Root 权限卸载安全软件

FireEye Labs的安全研究人员发现了一个源自中国的Android恶意程序家族, 它正迅速传播到全世界20多个国家,它的指令控制服务器(CC)域名是aps.kemoge.net,因此被取名为Kemoge.Kemoge将合法应用 重新打包,伪装成合法应用上传到第三方应用商店,通过网站和广告宣传,用户一旦安装之后它会收集设备信息上传到广告服务器,然后用广告轰炸用户. Kemoge一开始只是恼人,但很快它会变得邪恶.它会调用一个多重加密的压缩文件,该压缩文件包含了最多8个root利用可执行工具,

Android录音时获取分贝值的方法代码实例_Android

参考文章Android中实时获取音量分贝值详解:http://www.jb51.net/article/64806.htm public class MediaRecorderDemo { private final String TAG = "MediaRecord"; private MediaRecorder mMediaRecorder; public static final int MAX_LENGTH = 1000 * 60 * 10;// 最大录音时长1000*60*1

Android录音时获取分贝值的方法代码实例

参考文章Android中实时获取音量分贝值详解:http://www.jb51.net/article/64806.htm public class MediaRecorderDemo { private final String TAG = "MediaRecord"; private MediaRecorder mMediaRecorder; public static final int MAX_LENGTH = 1000 * 60 * 10;// 最大录音时长1000*60*1

android开发教程之系统资源的使用方法 android资源文件_Android

一.颜色资源1.颜色XML文件格式 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?><resources> //resources根元素   <color name="" >#000000</color>//color子元素</resouces> 2.引用格式: java代码中:R.color.color_name  (这是一个int型的

Win8系统获取最高管理员权限的方法

在Windows系统下,系统的操作权限是有一定的限制的,一般用户登录的账户都是普通管理员,因此很多操作都会受限,为了能拥有更高的操作能力,就必须获取最高的管理员权限,那么在Windows8系统下如何一键快速获取高级管理员权限呢? Windows8一键获取最高管理员权限的方法: 1.在要获得所有权限的文件或者文件夹上,右键,一键取得超级管理员权限,就可以在普通管理员帐户中,快速取得最高权限. 2.取得权限后,再运行程序,就与在超级管理员帐户中运行中是一样的. 3.还有一种情况是由于有程序正在操作这