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、VijayRaj

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 に答える