Android 4.2.2中的安全例外

时间:2014-06-01 17:18:21

标签: java android android-securityexception

我有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

1 个答案:

答案 0 :(得分:0)

添加

<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />

<manifest>

的根AndroidManifest.xml元素下