如何在Android中的应用程序目录中保存捕获的照片

时间:2014-05-12 10:06:46

标签: android android-intent

您好我想将捕获的照片保存在SQLite等所在的应用程序目录中。我不想在SD卡中制作任何文件夹和任何隐藏文件。如何将捕获的照片保存在应用程序目录中。

我正在尝试下面这个,但它保存在隐藏文件的SD卡中,但我不想要这种方法。

Intent cameraIntent = new Intent(
        android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
String capturedPhotoName = "." + System.currentTimeMillis() + ".png";
File photo = new File(Environment.getExternalStorageDirectory(),
        capturedPhotoName);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));
imageUri = Uri.fromFile(photo);
startActivityForResult(cameraIntent, CAMERA_INTENT_REQUEST);

提前致谢!

2 个答案:

答案 0 :(得分:3)

尝试使用此方法将捕获的图像保存在应用程序存储中

 public Uri setImageUri() {
        ContextWrapper cw = new ContextWrapper(getApplicationContext());
        File directory = cw.getDir("imageDir", Context.MODE_PRIVATE);
        File file = new File(directory,System.currentTimeMillis() + ".png");
        Uri imgUri = Uri.fromFile(file);
        this.imgPath = file.getAbsolutePath();
        return imgUri;
    }

图片将存储在此位置

/data/data/com.your.packagename/app_data/imageDir

答案 1 :(得分:0)

从onActivityResult()获取URI并将其转换为数据库中的字节存储字节。

byte[] UserPic = null;
UserPic = Base64.decode(result.getData(), 0);

在DataBase中保存userPic