0

我正在使用此代码从相机拍摄照片

Intent intent    = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);   
File storagePath = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM) + "/Camera/"); 

if(!storagePath.isDirectory()){   
  storagePath.mkdirs(); 
}

File myImage = new File(storagePath,
Long.toString(System.currentTimeMillis()) + ".jpg"); 
Uri fromURI=Uri.fromFile(myImage); 
intent.putExtra(MediaStore.EXTRA_OUTPUT, fromURI);
startActivityForResult(intent,PulseConstants.CAMERA_REQUEST_CODE);

图像以给定的文件名正确存储在手机的“我的文件”文件夹中......但是当我打开手机的图库时,这个图像没有出现??

如果我做错了什么,请告诉我??

TIA,维杰拉吉

4

1 回答 1

0

这可能与 Android 媒体扫描仪不会不断索引手机上的文件有关。过去,我在保存图像后立即调用以下函数来通知 MediaScanner:

private void scanMedia(File file) {
    Uri uri = Uri.fromFile(file);
    Intent scanFileIntent = new Intent(
        Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri);
        sendBroadcast(scanFileIntent);
}

希望这有效!

于 2013-01-10T22:09:13.570 回答