0

我正在尝试将 wget 与我的 Android 应用程序一起使用,该应用程序针对 Android v 4.2.2。我通过 AndroidManifest.xml 文件授予了应用程序 Internet 权限,但这并没有解决问题。我仍然无法使用 wget 命令下载文件。我还尝试使用 java 套接字来完成与服务器的连接并下载文件,但是,这不起作用。似乎 Android 4.2.2 版本对允许通过 Android 应用程序访问网络有限制。有人可以帮我确定一种获得网络访问权限的解决方法,以便 wget 命令可以在 Android 应用程序中运行吗?下面是我用来测试命令的代码。

private String runShellCommand() {
    try {
        Process process = Runtime.getRuntime().exec("system/bin/wget -O /data/data/com.shell/filename http://url to the file");
        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();

        return commandOutput.toString();
    } catch (IOException e) {

        throw new RuntimeException(e);

    } catch (InterruptedException e) {

        throw new RuntimeException(e);
    }

}
4

1 回答 1

0

您的目标似乎是下载文件而不是正确使用 wget。要在您的应用程序中下载文件,这是一种保守且可移植的解决方案,请尝试使用 URL 类和 HttpURLConnection 类,或 android 上可用且适合基于 URL 下载的其他类。

于 2013-04-29T18:40:46.390 回答