ストックギャラリーアプリで画像ファイルを非表示にするアプリを開発しています。同じように、.nomediaファイルを作成し、MediaScanner に更新を依頼しています。
この手法は、隠しファイルを表示する必要がある場合、つまり .nomedia ファイルを削除し、そのフォルダーに存在するすべてのファイルをスキャンしてギャラリーに表示する必要がある場合に有効です。しかし、画像を非表示にしたい場合、.nomedia ファイルを配置してから、MediaScanner にそのフォルダー内のすべてのファイルをスキャンするように要求しても、それらの写真はギャラリーから非表示になりません。
次のコードを使用してファイルをスキャンしています
private void refreshPic(String path) {
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
File f = new File(path);
Uri contentUri = Uri.fromFile(f);
mediaScanIntent.setData(contentUri);
this.sendBroadcast(mediaScanIntent);
}
私はそれを正しい方法でやっていますか?または、メディア ストアからファイルを削除するには、他のものが必要ですか?
テスト端末: Nexus 5 (4.4.2)
ありがとう。