检测Android手机是否具有root权限和静默安装
2014-08-28 18:08
330 查看
执行静默安装时,需要向手机申请获取root权限,如果手机具有root权限,则可以完成安装。代码如下:
MainActivity:
转自【http://www.open-open.com/lib/view/open1409191402244.html】
MainActivity:
import java.io.DataOutputStream; import java.io.File; import java.io.OutputStream; import android.os.Bundle; import android.os.Environment; import android.app.Activity; import android.util.Log; public class MainActivity extends Activity { private static final String TAG = "MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 笔者手机上的apk路径 String apkName = Environment.getExternalStorageDirectory().toString() + File.separator + "police.apk"; Log.e(TAG, "root = " + haveRoot("pm install -r " + apkName)); } /** * 检测是否具体root权限 * * @param cmd * @return */ private boolean haveRoot(String cmd) { int i = execRootCmdSilent(cmd); if (i != -1) { return true; } return false; } /** * 执行静默安装 * * @param paramString * @return */ private int execRootCmdSilent(String paramString) { int result = -1; try { Process localProcess = Runtime.getRuntime().exec("su"); OutputStream os = localProcess.getOutputStream(); DataOutputStream dos = new DataOutputStream(os); dos.writeBytes(paramString + "\n"); dos.flush(); dos.writeBytes("exit\n"); dos.flush(); localProcess.waitFor(); result = localProcess.exitValue(); } catch (Exception e) { e.printStackTrace(); } return result; } }权限:
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
转自【http://www.open-open.com/lib/view/open1409191402244.html】
相关文章推荐
- 检测手机是否具有root权限和静默安装
- android开发 怎么检测手机是否有GPS
- Android应用程序获取ROOT权限的方法(android中如何通过代码检测是否有root权限?)
- 仿91助手的PC与android手机通讯(3) --- 检测是否已经安装驱动
- Android检测手机或PAD是否连网
- Android检测手机或PAD是否连网
- Android检查手机上是否安装了指定的软件(根据包名检测)
- android获取root权限以及检测是否得到root权限
- Android检测手机是否安装某个应用
- Android检测手机是否安装某个应用
- android检测手机是否有某个应用以及启动安装另一个应用的问题
- 【Android】不弹root请求框检测手机是否root
- Android中用于检测当前手机网络是否可用
- 【Android】不弹root请求框检测手机是否root
- Android 检测是否有ROOT权限
- [Android开发常见问题-6] 如何检测手机当前网络是否可用?
- 仿91助手的PC与android手机通讯(3) --- 检测是否已经安装驱动
- 【Android】不弹root请求框检测手机是否root
- 判断手机是否ROOT 代码实现+ Android 操作系统 获取Root权限 原理解析
- 检测Android手机是否被安装了Carrier IQ监控的应用