我有根安卓设备。我想通过我的应用程序下载并安装另一个应用程序。我的设备上安装了 SUPERUSER 应用程序。
下载完成后,我使用以下代码进行应用程序安装。
Process p = Runtime.getRuntime().exec("su");
InputStream es = p.getErrorStream();
DataOutputStream os = new DataOutputStream(
p.getOutputStream());
final String libs = "LD_LIBRARY_PATH=/vendor/lib:/system/lib ";
final String[] commands = {libs + "pm install -r " + result,"reboot"
};
for (String command : commands) {
Log.d(LOG_TAG, " command : " + command);
os.writeBytes(command + "\n");
}
os.writeBytes("exit\n");
Log.d(LOG_TAG, " DataOutputStream.writebytes ");
os.flush();
上述 coed 在 Android 4.0 中运行。但是当我在 Andorid 4.2.2 上运行相同的代码时。我遇到了安全异常。
java.lang.SecurityException:权限被拒绝:广播要求以用户-1身份运行,但从用户0调用;这需要 android.permission.INTERACT_ACROSS_USERS_FULL 或 android.permission.INTERACT_ACROSS_USERS
我该如何处理这个异常?
在期待中感谢,
问候,
AK