0

iis7でホストされているAndroidAPKファイルがあり、Androidアプリ内からダウンロードしてインストールしたいと思います。この質問のコードに大きく依存していますが、fileNotFound例外が発生しています。InputStream is = con.getInputStream();

デスクトップと電話(Samsung galaxy Nexus)の両方のブラウザ内からapkファイルをダウンロードでき、aisにapkmimeタイプを追加しました。

これが私のコードです。

protected Void doInBackground(Void... params) {
        try {
            URL url = new URL("http://android.atomweb.net.au/CasLite.apk");
            HttpURLConnection con = (HttpURLConnection) url.openConnection();

            con.setRequestMethod("POST");
            con.setDoOutput(true);
            con.connect();

            String PATH = Environment.getExternalStorageDirectory() + "/download/";
            File file = new File(PATH);
            file.mkdirs();
            File outputFile = new File(file, "app.apk");
            FileOutputStream fos = new FileOutputStream(outputFile);

            InputStream is = con.getInputStream();

            byte[] buffer = new byte[1024];
            int len1 = 0;
            while ((len1 = is.read(buffer)) != -1) {
                fos.write(buffer, 0, len1);
            }

            fos.close();
            is.close();

            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setDataAndType(
                    Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/download/" + "app.apk")),
                    "application/vnd.android.package-archive");

            startActivity(intent);

        } catch (IOException e) {
            Log.d("Error", e.getLocalizedMessage());
        }
        return null;

    }

ブレークポイントを投稿して、接続が確立された後、getInputStreamの前に接続応答コードを確認すると、その405です。

4

1 に答える 1

0

それはPOSTではなくGETであるべきではありませんか?

于 2012-04-16T23:23:07.310 に答える