問題タブ [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.

0 投票する
1 に答える
288 参照

java - 可能なダイアログでユーザーにフォアグラウンド ダウンロードを提供する

ユーザビリティデザインと戦っています。

権限が 1 つしかないアプリケーションを考えてみましょうandroid.permission.INTERNET

リモート URL (サーバー側を制御できない場所) から画像をダウンロードしたいのですが、ユーザーがそのファイルをダウンロードするかどうか、どこでダウンロードするかを選択できるようにダウンロードします。
プロセス承認のためのダイアログの表示および/または最終宛先の選択。

私はこれらの解決策を検討しました:

  • 使用する DownloadManagersetDestinationInExternalPublicDir
    • 2 つのバグ、許可を追加したくないWRITE_EXTERNAL_STORAGE、ユーザーがダウンロードするかどうかを決定できない
  • Intent.ACTION_VIEWブラウザの起動に 使用
    • スタンドアロンはユーザーに画像を表示しますが、ダウンロードを自動的に開始しません
  • Intent.ACTION_VIEWカスタム プロキシ スクリプトの 使用
    • サーバーは私のものではありません。サーバー側のプロキシ ダウンロード強制スクリプトを提供したくありません。
  • HTTP(S) を FTP に置き換え、ユーザーに決定させる
    • そのサーバー上の画像は FTP 経由で利用できないため、機能しません
  • ダウンロード アプリケーション (「すべてのファイルをダウンロード」、さまざまな「ファイル マネージャー」など) の互換性を提供します。

現在の権限を拡張したり、非標準のアプリに依存したりせずにこれを達成するにはどうすればよいですか?


この github の問題にリンクされています https://github.com/smarek/Simple-Dilbert/issues/1

0 投票する
0 に答える
4188 参照

android - Android のダウンロード マネージャーの一時停止アクションはありますか?

Android でダウンロード マネージャー クラスを使用して、いくつかのファイルをダウンロードしています。このクラスは、ダウンロードのリクエストを追加および削除できます。

特定のダウンロードを一時停止してから再開する方法はありますか?

またはそれを行う別の方法はありますか?

編集:私はこの方法を見つけました、それは働いています:

  • ダウンロードプロセスを一時停止するときは、書き込んだファイルを閉じます。
  • ダウンロード再開時、ファイルへのアクセス(未完了)とそのサイズの取得
  • ダウンロードしたバイト情報を httpRequest のヘッダーに追加します: mHttpRequset.setHeader("Range", "bytes=" + mPreviouslyDownloadedBytes + "-");
  • mHttpClient.execute(mHttpRequest);
0 投票する
1 に答える
519 参照

android - DownloadManager は、ダウンロードを実行するために STATUS_FAILED を送信します

ファイルのダウンロードにAndroid DownloadManagerを使用しています...しかし、ここで少し奇妙な問題に直面しています。

ダウンロードがまだ実行中のレジスターレシーバーにSTATUS_FAILEDが送信されます。

誰もこれについてアイデア/提案を持っていますか?

0 投票する
5 に答える
3159 参照

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