URL をダウンロードする目的は何ですか? ブラウザでは、小さな通知アイコンが付いたものをダウンロードします。そのインテントを使用できるかどうか (およびそれが何であるか) を考えていました。
4 に答える
アプリケーションは、ブラウザやGmailと同じように、ダウンロードマネージャを使用してファイルをダウンロードできます。これはジンジャーブレッドから利用できます。
ダウンロードを開始するには、アプリにインターネット権限が必要です。ファイルをデフォルトのダウンロードディレクトリに保存するには、 WRITE_EXTERNAL_STORAGE権限も必要です。
URIをダウンロードする方法は次のとおりです。
DownloadManager.Request r = new DownloadManager.Request(uri);
// This put the download in the same Download dir the browser uses
r.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "fileName");
// When downloading music and videos they will be listed in the player
// (Seems to be available since Honeycomb only)
r.allowScanningByMediaScanner();
// Notify user when download is completed
// (Seems to be available since Honeycomb only)
r.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
// Start download
DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
dm.enqueue(r);
通知のカスタマイズ、ダウンロード状態のクエリ、ダウンロード場所の設定には、他にもたくさんのオプションがあります。
このブログ投稿では、非表示のAPIを介して以前のバージョンのAndroidでダウンロードマネージャーを使用する方法を示しています。
ブラウザにダウンロード インテントがあるとは思えませんが、おそらく通常のACTION_VIEW
インテントを使用して、コンテンツ タイプに基づいて URL をダウンロードするか表示するかをブラウザに決定させることができます。
だからあなたのコードトリガーから
new Intent(Intent.ACTION_VIEW, Uri.parse(url))
これにより、ブラウザでダウンロードが開始されることを願っています。
あなたは何をしようとしているのですか?アプリでファイルをダウンロードする場合は、UrlConnection コードを使用できます。パッケージをダウンロードしたい場合は、ACTION_PACKAGE_INSTALL
必要なことを行う必要があります。
Android のすべてのインテントについては、こちらをご覧ください。