android拍照存储文件夹,android – 将图像从相机存储到私有应用缓存目录

我想从相机捕获图像并将其保存到私有应用程序缓存目录.我意识到我必须给相机应用程序写入我的私人目录的权限,所以我添加了FLAG_GRANT_WRITE_URI_PERMISSION标志.

发生了什么,相机应用程序打开,我可以拍照,但当我点击确定按钮,没有任何反应.相机应用程序保持打开状态没有日志输出.我想这是因为许可问题.

private void getCameraImage() {

try {

mTmpFile = File.createTempFile("tmp",".jpg",getCacheDir());

Uri imgUri = Uri.fromFile(mTmpFile);

Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

i.putExtra(MediaStore.EXTRA_OUTPUT,imgUri);

i.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);

// i.setData(imgUri); // if uncommented,i get an ActivityNotFound Exception

startActivityForResult(i,REQUEST_CAMERA);

} catch (IOException e) {

Log.e(TAG,"getCameraImage()",e);

Toast.makeText(this,"Something went wrong",Toast.LENGTH_SHORT).show();

}

}

任何见解,我如何纠正?

编辑:

当我将目录更改为公共SD卡时,它工作正常.

mTmpFile = File.createTempFile("tmp",Environment.getExternalStorageDirectory());

谢谢

西蒙

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值