2012-06-08 6 views
10

Androidのダウンローダを使用してファイルをダウンロードするにはどうすればよいですか? (WebBrowserが使用しているダウンローダも同様です)。デフォルトのAndroid Downloader経由でファイルをダウンロードするにはどうすればよいですか?

Intent i = new Intent(Intent.ACTION_VIEW , Uri.parse("MyUrl")); 
startActivity(i); 

どれより良い方法:

私はこのような何かを試してみましたか?

編集

私はあなたが行くここでアンドロイド2.2

答えて

3

Android 2.2以降でこれを行うには、HttpUrlConnectionを使用する必要があります。インターネット上に非常に詳細なtutorialがあり、これを行う方法を示しています(進行状況ダイアログボックスもあります)。

は、あなたがあなたが実際のダウンロード時にUIスレッドをブロックしないことを確実にするためにAsyncTaskまたはThreadを使用する必要があります忘れないでください!

+0

ありがとうございます、しかし、 "どうすればデフォルトのAndroidダウンローダを使ってファイルをダウンロードできますか?"自分のソリューションを使うべきだと思う。 – Kermia

+1

Android 2.2またはそれ以下を実行するデバイスで作業している場合、できません。デフォルトのダウンローダは2.3で導入されたため、それ以前のバージョンでは認識されません。 –

17

を使用しています。

マニフェストにandroid.permission.internetを追加することを忘れないでください。

+0

素晴らしい答えです。実際に私はそのようなサービスが存在することを知らなかった。それは粘着的な放送ですか? –

+0

申し訳ありません。:)あなたが問題を解決したら、この回答を受け入れることができます。他人を助けるでしょう:) –

+0

私は答えを受け入れます。しかし、私は質問を投稿する人ではありません...しかし、私は答えをアップアップ投票者です –

3

URLからユーザーのSDカードにダウンロードする場合は、携帯電話のデフォルトのインターネットブラウザで開くことができます。

String url = "https://appharbor.com/assets/images/stackoverflow-logo.png"; 
Intent i = new Intent(Intent.ACTION_VIEW); 
i.setData(Uri.parse(url)); 
startActivity(i); 

(Code from this question)

アンドロイドブラウザは起動し、ファイル(この場合の画像)がダウンロードされます。

+0

私のソニーxepriaの電話で。画像がブラウザに表示されます。それは自己です。私が望むのは、ダウンロードが開始されると、私のアプリに移動する必要があります。 –

+0

イメージをダウンロードしようとすると、ブラウザがイメージを開いて表示します。このメソッドは、.zipなどのバイナリファイルを対象としています。私はVipul Shahのソリューションを使用することをお勧めします。 –

+0

apkファイルをダウンロードしても動作しますか? –

0

はい、メインスレッドでネットワーク操作を実行できません。ファイルをダウンロードするにはthisリポジトリを参照することができます。

+1

こんにちはAmit、多分あなたは見てみることができます[ここ](http://stackoverflow.com/help/promotion) – bummi

関連する問題