我有root android设备。我想通过我的应用程序下载并安装另一个应用程序。我的设备上安装了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();
上述男女同校在Android 4.0中工作。但是当我在Andorid 4.2.2上运行相同的代码时。 我遇到了异常异常。
java.lang.SecurityException:Permission Denial:broadcast要求以用户-1运行,但是从用户0调用;这需要android.permission.INTERACT_ACROSS_USERS_FULL或android.permission.INTERACT_ACROSS_USERS
我该如何处理此异常?
感谢期待,
此致
AK
答案 0 :(得分:0)
添加
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
在<manifest>
AndroidManifest.xml
元素下