4

インテントで MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA を使用すると問題が発生します。カメラは正しく起動しますが、特定のフォルダー「/photo」にファイルが保存されません。しかし、MediaStore.ACTION_IMAGE_CAPTURE を使用すると問題なく動作しますが、毎回 1 枚の写真しか撮れないため、これは使用できません。カメラを起動して、ユーザーがたくさんの写真を撮る必要があります。彼がカメラを閉じた後、すべての写真が私の特定のフォルダーに保存されます。

ご協力いただきありがとうございます。

よろしく、

マルセロ

ソースコード:

public void startCamera() {     
    Intent takePictureIntent = new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);
    File file = null;
    try {
        file = createImageFile();
        takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
    } catch (IOException e) {
        file = null;
        Log.e(this.getClass().getName(), e.getMessage(), e);            
    }
    activity.startActivity(takePictureIntent);
}


private File createImageFile() throws IOException {
    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
    String imageFileName = JPEG_FILE_PREFIX + timeStamp + JPEG_FILE_SUFFIX;
    return new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/photo/", imageFileName);
}
4

1 に答える 1

8

MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERAこのインテントは、アクティビティの結果または特定のインテントファイルの出力をサポートしていません。このインテントは、単にカメラを開くように設計されています。求めている機能はAndroidにネイティブに存在しません。

于 2012-07-24T19:52:06.570 に答える