如何更改相机保存路径?

Nik*_*tas 2 java mobile android android-camera

使用默认相机应用程序的照片和视频保存在SD卡上.

我真的需要知道是否有方法(简单或困难)更改路径,以便我可以将这些文件保存在内部存储器中.

或者,如果您知道来自Android市场的另一个相机应用程序,可以选择更改路径.

我不需要SD卡解决方案.

use*_*305 6

你可以做点什么,

这适用于我的情况..

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, getImageUri());
startActivityForResult(intent, TAKE_PHOTO_CODE);
Run Code Online (Sandbox Code Playgroud)

和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
    // Here you can change yourinternal storage path to store those images..
    File file = new File(Environment.getExternalStorageDirectory() + "/DCIM", CAPTURE_TITLE);
    Uri imgUri = Uri.fromFile(file);

    return imgUri;
}
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅如何捕获图像并使用本机Android相机存储它

编辑:

在我的代码中我存储了图像,SDCARD但您可以根据需要提供内部存储路径,例如,/data/data/<package_name>/files/..

你可以用Context.getFilesDir().但请记住,即使这是默认的私有您的应用程序,因此其他应用程序(包括媒体商店)将无法访问它.也就是说,您始终可以选择将文件设置为可读或可写.

Context.getDir()Context.MODE_WORLD_WRITEABLE编写的其他应用程序可以写入到一个目录.但同样,我质疑是否需要将图像数据存储在本地存储中.用户不会理解这一点,除非用户在使用您的应用程序时不会安装SD卡(这种情况并不常见).