在Android应用程序中执行Shell命令

时间:2015-07-07 13:35:23

标签: java android shell

我有一个用于root手机的Android应用程序,其中我尝试使用shell命令禁用应用程序。

try {
    Process process = Runtime.getRuntime().exec("su -c 'pm disable com.bt.bms'");
    InputStreamReader reader = new InputStreamReader(process.getInputStream());
    BufferedReader bufferedReader = new BufferedReader(reader);
    int numRead;
    char[] buffer = new char[5000];
    StringBuffer commandOutput = new StringBuffer();
    while ((numRead = bufferedReader.read(buffer)) > 0) {
        commandOutput.append(buffer, 0, numRead);
    }
    bufferedReader.close();
    process.waitFor();
    XposedBridge.log(commandOutput.toString());
} catch (IOException e) {
    throw new RuntimeException(e);
} catch (InterruptedException e) {
    throw new RuntimeException(e);
}

每当我执行它时,我都会看到一个Toast通知“系统UI已被授予权限: pm disable com.bt.bms ” 但该应用程序没有被禁用。 而当我在终端中运行相同的命令时,它工作正常。

0 个答案:

没有答案