SDカードの特定のフォルダーに保存された最後の画像のサムネイルを取得するためのパブリックメソッドを持つカスタムカメラがあります...
そのメソッドは次のようになります。
public void getGalleryThumb(){
// TODO add Logic for gallery images..
File sdDir = new File("/sdcard/LC/images");
File[] sdDirFiles = sdDir.listFiles();
if(sdDir.length()>0){
File lastPhoto = sdDirFiles[0];
Bitmap myBitmap = BitmapFactory.decodeFile(lastPhoto.getAbsolutePath());
//SET MY IMAGE VIEW BITMAP TO LAST FILE IN sdDIRFiles
photo.setImageBitmap(myBitmap);
btn_gallery.setVisibility(View.VISIBLE);
}
//Toast.makeText(getBaseContext(), "num images in gal:"+sdDirFiles.length +"last image name: "+sdDirFiles[0], Toast.LENGTH_LONG).show();
}
そのフォルダーから写真を削除すると、上記の方法では常に正しい画像が取得されるとは限らないことに気付きました..私は以下を使用しました:
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
Uri.parse("file://"+ Environment.getExternalStorageDirectory()+"/LC/images/")));
そのSDカード/フォルダに新しいファイルを削除して書き込むと、それはうまくいかないようです。さらに、マウントされているSDカードに関するこの迷惑なトーストメッセージを強制します..
任意の助けをいただければ幸いです