写真がたくさんあるアプリケーションがあります。画像数が多いため、全画像がSDカードに保存されます。主な問題は、写真がギャラリーで利用できることです。ギャラリーから画像を非表示にする方法が必要ですが、アプリケーションで使用できる必要があります。
ファイル名の前に「。」を付けて非表示にしましたが、5月のアプリでも画像が表示されませんでした!
誰でも..助けて..お願いします
ありがとう..
ギャラリーは、認識しているすべてのメディア ファイルを処理するため、アセットから離れたままにしたい場合は、2 つの解決策があります。.nomedia
まず、画像を含むフォルダーにファイルを追加すると、ギャラリーはそれをスキップする必要が.nomedia
あります (ほとんどの画像ビューアーは を尊重しますが、保証はありません)。他の解決策は、独自の独自のファイル形式を使用することです。これにより、Gallery やその他のツールはそれを処理できなくなります。.nomedia
それが十分な解決策である場合、私はお勧めします。
このコード行は、ディレクトリに .nomedia ファイルを追加し、画像をギャラリーから非表示にすることができます
文字列 NOMEDIA=".nomedia";
File Folder = new File(Environment.getExternalStorageDirectory() + "/mydir"); if(Folder.mkdir()) { nomediaFile = new File(Environment.getExternalStorageDirectory() + "/mydir/"+ NOMEDIA); if(!nomediaFile.exists()){ nomediaFile.createNewFile(); } }
画像を保存する場所が重要だと思います。アプリケーションキャッシュディレクトリまたはファイルディレクトリに保存してみてください。
アクティビティで: を使用して、キャッシュ ディレクトリにアクセスできgetCacheDir()
ます。そしてあなたのファイルディレクトリ:getFilesDir()
これらの 2 つのディレクトリは、アプリケーション以外の他のアプリケーションから見えたり、アクセス可能になったりしてはなりません。
アプリでこれを実現するためにアセットを使用しました。