java相机_获取相机拍摄的照片

当用户使用相机拍照时,我希望图像显示在ImageView中,我想将Uri保存到在线数据库中 . 我听说保存图片的Uri比保存路径更好 .

这就是我启动相机的方式:

intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(getFile(getActivity())));

String a = String.valueOf(Uri.fromFile(getFile(getActivity())));

intent.putExtra("photo_uri", a);

startActivityForResult(intent, PICK_FROM_CAMERA);

哪里

private File getFile(Context context){

File sdCard = Environment.getExternalStorageDirectory();

File directory = new File (sdCard.getAbsolutePath() + "/Myapp");

if (!directory.exists()) {

directory.mkdirs();

}

String filename = "bl" + System.currentTimeMillis() + ".jpg";

File newFile = new File(directory, filename);

return newFile;

}

在onActivityResult中:

Bundle extras = data.getExtras();

String photo_uri = extras.getString("photo_uri"); //null

这始终为空 . 在发送意图之前,Uri看起来像file:// ...而不是content://当我从图库中打开图像时,这是uri . 我不知道这是不是一个问题 .

另外,我应该将路径而不是Uri保存到数据库中吗?我读到Uri在某些手机或Android版本中会很复杂 . 当我让用户从库中选择一个图像时,我将Uri保存到数据库中,所以我认为最好的方法是在这种情况下保存Uri .

我尝试了很多变化,但每次尝试传递一个带有意图的变量时我都会变为空...

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值