关于android调用拍照不返回的问题。

今天写代码发现只要是设置了

// 判断是否挂载了SD卡
					String savePath = "";
					String storageState = Environment.getExternalStorageState();
					if (storageState.equals(Environment.MEDIA_MOUNTED)) {

						savePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/multiFileSelector/Camera/";
						File savedir = new File(savePath);
						if (!savedir.exists()) {
							savedir.mkdirs();
						}
					}
					// 没有挂载SD卡,无法保存文件
					if (StringUtils.isNullOrEmpty(savePath)) {
						UiUtils.showShort(activity, "无法保存照片,请检查SD卡是否挂载");
						return;
					}

					String fileName = "camera_" + StringUtils.getDateTimeNow("yyyyMMddHHmmss") + ".jpg";// 照片命名
					File out = new File(savePath, fileName);
					cameraUri = Uri.fromFile(out);
					Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
					intent.putExtra(MediaStore.EXTRA_OUTPUT, cameraUri);
					startActivityForResult(intent, 0);

这句话

intent.putExtra(MediaStore.EXTRA_OUTPUT, cameraUri);


拍照之后点击确定是没有任何反应了,但是去掉这一句又是可以的。但是我又必须要自定义拍照位置

百度,谷歌也找不到任何有效的答案。

最后,,最后,,

我发现是因为我的cameraUri关联的保存文件不存在的原因。

最后加上

if(!out.exists()){
						try {
							out.createNewFile();
						} catch (IOException e) {
							e.printStackTrace();
						}
					}
则可以了。

但是我们其他项目也是没这句话的,也是可以的。。。我就奇怪了。


转载于:https://my.oschina.net/lin003/blog/551473

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值