2016-10-18 4 views
2

私はAndroidStoreからすべての画像を取得するためにMediaStoreを使用します。その後、ファイルマネージャからいくつかの画像を削除します。私はMediaStoreを使って画像を取得していますが、削除されたファイルはすべて問題になります。MediaStoreはファイルマネージャーから削除した画像を表示します

MediaStoreがデバイスに存在しなくなったファイルを返すのはなぜですか(デバイスから削除されました)?

MediaStoreから画像を取得するために使用しているコード。

Uri uri = android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI; 

String[] projection = {MediaStore.MediaColumns.DATA, MediaStore.Images.Media.BUCKET_DISPLAY_NAME}; 

Cursor cursor = activity.getContentResolver().query(uri, projection, null, null, MediaStore.MediaColumns.DATE_ADDED + " DESC"); 

String ImagePath = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DATA)); 

この問題を解決するにはヘルプをご覧ください。

+0

の下に使用してメディアを再スキャンすることができます。 –

+0

@BhunnuBaba ....個人的なフォルダではないかもしれないカメラの写真です。 – Janak

答えて

1

MediaStoreがデバイスに存在しなくなったファイルを返す理由(デバイスから削除)

あなたが使用したファイルマネージャは、ファイルの削除についてMediaStoreに知らせるために何もしなかったからです。最終的にはMediaStoreが見つかりますが、数時間かかる場合もあります。

+0

これはデフォルトのファイルマネージャであり、ギャラリーは削除されたすべての画像を表示しません。 – Janak

+0

@Janak: "これはデフォルトファイルマネージャです" - Androidにはファイルマネージャがありません。デバイスにファイルマネージャがある可能性があります。また、 "Default file manager"は、ファイルの削除について 'MediaStore'に知らせるために何もしていません。 「ギャラリーには削除されたすべての画像は表示されません」 - 数千のAndroidデバイスモデルと数百種類のプレインストールされたギャラリーアプリが数多くあります。私が推測しなければならないのは、ギャラリーアプリはファイルのサムネイルを作成するときにファイルが見つからないことを検出し、単にレンダリングしたものをフィルタリングします。 – CommonsWare

+0

GalleryやFileManagerのようなMediaStoreを更新するには何かできますか?ファイルマネージャも削除されたファイルを表示しないためです。 – Janak

0

あなたはおそらく、あなたのイメージが一度チェックし、いないファイルマネージャで個人のappフォルダを保存するコード

MediaScannerConnection.scanFile(context, new String[]{imagePath}, null, new MediaScannerConnection.OnScanCompletedListener() { 
    public void onScanCompleted(String path, Uri uri) { 
     //something that you want to do 
    } 
}); 
関連する問題