在 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);
我想查看我所有的照片缩略图,但没有我最后一张照片的缩略图。它在 android 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
稍后编辑
我在其他活动中有这样的事情
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 个元素,第二个我有 14 个元素。所以图像已添加到 mediascanner,但操作系统尚未为其生成缩略图。那么我应该如何要求操作系统创建一个呢?