私のアプリケーションは、DownloadManagerを使用しているWebサイトからjpgsをダウンロードし、/sdcard/Android/name.app/ディレクトリに保存して、アプリケーション内の複数のフラグメントで使用します。しかし、ダウンロードは素晴らしいですが、jpgはギャラリーアプリケーションに表示されます。ギャラリーアプリケーションでは、アプリケーション用のアセットであるため、不要です。ギャラリーアプリケーションに表示されないようにする方法を理解できません。私はさらにディレクトリに.nomediaファイルを追加しようとしましたが、それらは作成されています。どんな助けもありがとう!AndroidでDownloadManagerでダウンロードしたMedia ScannerによるJPGスキャンを防止するには? (Developer)
DownloadManager myDownloadManager = (DownloadManager) myActivity.getSystemService(Context.DOWNLOAD_SERVICE);
Request myRequest = new Request(Uri.parse(episodeArtLink));
myRequest.setNotificationVisibility(Request.VISIBILITY_HIDDEN);
myRequest.setVisibleInDownloadsUi(false);
myRequest.setDestinationInExternalFilesDir(myActivity, Environment.DIRECTORY_DOWNLOADS, myFilename);
myDownloadManager.enqueue(myRequest);
問題は、MediaScannerが尋ねていないのにイメージをシステムデータベースに追加しているために発生しているようです。
問題を示すテストアプリを作成しました。ダウンロードボタンをクリックすると、アプリにGoogleロゴが表示されます。ギャラリーアプリに入ると、ダウンロードというギャラリーにGoogleロゴも表示されます。 [設定] - > [アプリ] - [ギャラリーとメディアストレージのデータを消去する]を選択すると、Googleロゴは消えてしまいます。このファイルは/ sdcard/Android/data /の下にあるのでギャラリーには表示されません。 .nomediaファイル。 /sdcard/Android/data/com.example.downloadmanagertest/files/Download/に移動して、画像が電話に残っていることを確認できます。ギャラリーやメディアストレージのデータを消去すると、再起動してもギャラリーに画像が表示されません。私はこれを、Nexus 4と4.2.2を実行しているNexus 7の両方でテストしました。
出典:https://dl.dropboxusercontent.com/u/114414/DownloadManagerTest.zip
私はこの質問がより「一般的」であるべきだと思います。私はTomTomをインストールしたときに同様の問題が発生しました。私のギャラリーには数千のアイコンが登場しました!ギャラリーからフォルダを「隠す」方法はありますか? – AndreaCi
これはダウンロードしたアプリケーションではなく、開発中のアプリケーション用です。私はアプリケーションをダウンロードした誰もが自分で仕事を見つけなければならないとは思わない。 – notkevin
メディアファイル(名前.nomediaのファイル)を含まないフォルダに画像をダウンロードしようとしましたか?このファイルは、フォルダ内のファイルをスキャンしないようにする必要があります。 –