apiレベル4(android 1.6)で、以下を使用して写真を撮った後:
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
File photo = new File(Environment.getExternalStorageDirectory(), "NewPic.jpg");
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));
imageUri = Uri.fromFile(photo);
startActivityForResult(intent, TAKE_PICTURE);
すべての写真のサムネイルを確認したいのですが、最後の写真のサムネイルがありません。それはアンドロイド2.1で完全に動作します。
USB経由でデバイスをPCに接続すると、スキャンが終了した後、切断ファイルが表示されます。では、どのようにインデックス作成を開始する必要がありますか?
私は試した
mScanner = new MediaScannerConnection(getApplicationContext(), this);
mScanner.connect();
mScanner.scanFile(imageUri.getEncodedPath(), "*/*");
そしてこれで終わります:
02-24 17:13:54.678: DEBUG/MediaScannerService(1320): IMediaScannerService.scanFile: /sdcard/NewPic2222.jpg mimeType: */*
02-24 17:13:54.688: VERBOSE/MediaProvider(1320): /sdcard volume ID: 1149784819
02-24 17:13:54.688: VERBOSE/MediaProvider(1320): key exists
後で編集
私は他の活動でこのようなsthを持っています
mCursorThumbnails = MediaStore.Images.Thumbnails.queryMiniThumbnails(mContentResolver, MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, MediaStore.Images.Thumbnails.MINI_KIND, projection);
mCursorImages = MediaStore.Images.Media.query(mContentResolver, MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection);
最初の値のカウントを確認すると、13個の要素があり、2番目の値には14個の要素があります。したがって、画像はmediascannerに追加されていますが、OSはそのサムネイルを生成していません。では、OSに作成を依頼するにはどうすればよいですか?