問題タブ [android-download-manager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 可能なダイアログでユーザーにフォアグラウンド ダウンロードを提供する
ユーザビリティデザインと戦っています。
権限が 1 つしかないアプリケーションを考えてみましょうandroid.permission.INTERNET
。
リモート URL (サーバー側を制御できない場所) から画像をダウンロードしたいのですが、ユーザーがそのファイルをダウンロードするかどうか、どこでダウンロードするかを選択できるようにダウンロードします。
プロセス承認のためのダイアログの表示および/または最終宛先の選択。
私はこれらの解決策を検討しました:
- 使用する DownloadManager
setDestinationInExternalPublicDir
- 2 つのバグ、許可を追加したくない
WRITE_EXTERNAL_STORAGE
、ユーザーがダウンロードするかどうかを決定できない
- 2 つのバグ、許可を追加したくない
Intent.ACTION_VIEW
ブラウザの起動に 使用- スタンドアロンはユーザーに画像を表示しますが、ダウンロードを自動的に開始しません
Intent.ACTION_VIEW
カスタム プロキシ スクリプトの 使用- サーバーは私のものではありません。サーバー側のプロキシ ダウンロード強制スクリプトを提供したくありません。
- HTTP(S) を FTP に置き換え、ユーザーに決定させる
- そのサーバー上の画像は FTP 経由で利用できないため、機能しません
- ダウンロード アプリケーション (「すべてのファイルをダウンロード」、さまざまな「ファイル マネージャー」など) の互換性を提供します。
現在の権限を拡張したり、非標準のアプリに依存したりせずにこれを達成するにはどうすればよいですか?
この github の問題にリンクされています https://github.com/smarek/Simple-Dilbert/issues/1
android - Android のダウンロード マネージャーの一時停止アクションはありますか?
Android でダウンロード マネージャー クラスを使用して、いくつかのファイルをダウンロードしています。このクラスは、ダウンロードのリクエストを追加および削除できます。
特定のダウンロードを一時停止してから再開する方法はありますか?
またはそれを行う別の方法はありますか?
編集:私はこの方法を見つけました、それは働いています:
- ダウンロードプロセスを一時停止するときは、書き込んだファイルを閉じます。
- ダウンロード再開時、ファイルへのアクセス(未完了)とそのサイズの取得
- ダウンロードしたバイト情報を httpRequest のヘッダーに追加します: mHttpRequset.setHeader("Range", "bytes=" + mPreviouslyDownloadedBytes + "-");
- mHttpClient.execute(mHttpRequest);
android - DownloadManager は、ダウンロードを実行するために STATUS_FAILED を送信します
ファイルのダウンロードにAndroid DownloadManagerを使用しています...しかし、ここで少し奇妙な問題に直面しています。
ダウンロードがまだ実行中のレジスターレシーバーにSTATUS_FAILEDが送信されます。
誰もこれについてアイデア/提案を持っていますか?
android - Android の DownloadManager でダウンロードした JPG を Media Scanner がスキャンできないようにするには? (デベロッパー)
私のアプリケーションは、DownloadManager を使用して Web サイトから jpg をダウンロードし、/sdcard/Android/name.app/ ディレクトリに保存して、アプリケーションのいくつかのフラグメントで使用します。ダウンロードは問題なく動作しますが、jpg はギャラリー アプリケーションに表示されます。これらはアプリケーションの単なるアセットであるため、これは望ましくありません。ギャラリー アプリケーションに表示されないようにする方法がわかりません。作成されたディレクトリに .nomedia ファイルを追加しようとしました。どんな助けでも大歓迎です!
MediaScanner が画像をシステム データベースに追加しているため、要求していないにもかかわらず、問題が発生しているようです。
問題を示すテストアプリを作成しました。[ダウンロード] ボタンをクリックすると、Google ロゴがアプリに表示されます。ギャラリー アプリに移動すると、ダウンロードという名前のギャラリーにも Google ロゴが表示されます。[設定] -> [アプリ] に移動し、ギャラリーとメディア ストレージのデータを消去すると、ファイルが /sdcard/Android/data/ の下にあり、 .nomedia ファイル。/sdcard/Android/data/com.example.downloadmanagertest/files/Download/ に移動して、イメージがまだ電話にあることを確認できます。再起動後も、ギャラリーとメディア ストレージのデータを消去すると、画像がギャラリーに表示されません。4.2.2 を実行している Nexus 4 と Nexus 7 の両方でこれをテストしました。
ソース: https://dl.dropboxusercontent.com/u/114414/DownloadManagerTest.zip