0

我正在尝试从我的 android 应用程序打开相机并捕获图像,但它没有存储在 sdcard 中。如果我从内置相机捕获图像,那么它将图像存储在 sdcard 上。使用以下代码:(尝试打开相机)。

Intent intent = new Intent(
            android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    startActivityForResult(intent, 1);

在清单许可中:

<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

我的代码中是否缺少某些内容?

提前致谢。

4

1 回答 1

1

这适用于我的情况..

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, getImageUri());
startActivityForResult(intent, TAKE_PHOTO_CODE);

和 getImageUri()

/**
 * Get the uri of the captured file
 * @return A Uri which path is the path of an image file, stored on the dcim folder
 */
private Uri getImageUri() {
    // Store image in dcim
    File file = new File(Environment.getExternalStorageDirectory() + "/DCIM", CAPTURE_TITLE);
    Uri imgUri = Uri.fromFile(file);

    return imgUri;
}

有关更多信息,请查看如何使用原生 Android 相机捕获图像并存储它

于 2011-12-14T08:42:45.183 回答