使用系统拍照后,在拍照页面点击确定按钮无效问题。

      Intent intent = new Intent(
        MediaStore.ACTION_IMAGE_CAPTURE);
      new DateFormat();
      pic_name = DateFormat.format("yyyyMMdd_hhmmss",
        Calendar.getInstance(Locale.CHINA)) + ".jpg";
      File file = new File(PATH);
      Uri imageUri = Uri.fromFile(new File(PATH,pic_name));
      intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
      startActivityForResult(intent, CAMERA_TAKE);

跳转到拍照页面点击确定按钮无效。

原因    :PATH+"/"+pic_name路径无效,所以无法保存图片。

解决办法:

      Intent intent = new Intent(
        MediaStore.ACTION_IMAGE_CAPTURE);
      new DateFormat();
      pic_name = DateFormat.format("yyyyMMdd_hhmmss",
        Calendar.getInstance(Locale.CHINA)) + ".jpg";
      File file = new File(PATH);
      if(!file.isDirectory()){
       file.mkdirs();
      }
      Uri imageUri = Uri.fromFile(new File(PATH,pic_name));
      intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
      startActivityForResult(intent, CAMERA_TAKE);

你可以使用 Android 系统提供的 Intent 类调用系统相机拍照。你需要创建一个 Intent 对象,指定 Intent 的 action 为 MediaStore.ACTION_IMAGE_CAPTURE,然后调用 startActivityForResult() 方法启动相机应用。 以下是一个示例代码: ``` private static final int REQUEST_IMAGE_CAPTURE = 1; private void dispatchTakePictureIntent() { Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); if (takePictureIntent.resolveActivity(getPackageManager()) != null) { startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) { // 处理拍照返回的数据 Bundle extras = data.getExtras(); Bitmap imageBitmap = (Bitmap) extras.get("data"); // 将图片显示在 ImageView 中或者保存到本地 } } ``` 在上面的代码中,我们定义了一个 REQUEST_IMAGE_CAPTURE 常量来标识启动相机的请求。当用户点击按钮时,我们调用 dispatchTakePictureIntent() 方法来启动相机应用。如果设备上没有安装相机应用,那么 takePictureIntent.resolveActivity(getPackageManager()) 会返回 null,我们需要检查这个返回值以避免应用崩溃。 当用户拍照完成后,相机应用会将照片数据返回给我们的应用。我们需要在 onActivityResult() 方法中处理这个返回的数据。在上面的代码中,我们从 Intent 的 extras 中获取了照片的 Bitmap 对象,然后可以将它显示在 ImageView 中或者保存到本地。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值