仅在 Pixel_Api_26 模拟器中从相机拍摄照片后无法在 ImageView 中放置图像

Not able to place a image in ImageView After taking a pic from camera only in Pixel_Api_26 emulator

我正在尝试从我的应用程序中的摄像头拍摄照片,但它工作正常但无法在 imageview 中显示它,它抛出错误..

请帮帮我

我的密码是

解码 bitmapUri 时出错(我在代码中提到)

错误是:

private void onCaptureImageResult(意图数据){

          Log.w("CAM","capture image result");
          launchMediaScanIntent();

          try {
              File photo = new File(Environment.getExternalStorageDirectory(), "picture.jpg");
              Log.w("CAM","decoding bitmap uri");
              Context context=FSE_login.this;
              Bitmap bitmap = decodeBitmapUri(this, FileProvider.getUriForFile(context, context.getApplicationContext().getPackageName() + ".lerainfotech.tezmoney.FSE_login", photo));
              Log.w("CAM","decoded");
              attendance_pic = Utils.getResizedBitmap(bitmap);
              Log.w("CAM","attached");
              attendance_pic_field.setImageBitmap(attendance_pic);
          } catch (Exception e) {

              Log.w("Error Is",e);
              Utils.showErrorDialog(getApplicationContext(), "Couldn't load image");
              return;
          }
      }

首先需要在 Mainifest 中编写如下代码

<uses-permission-sdk-23 android:name="android.permission.CAMERA" />
<uses-permission-sdk-23 android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

你的 Activity 应该喜欢这个

    if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {

        ActivityCompat.requestPermissions(this, new String[] { Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE }, 0);
    }else{
        captureImage();
    }
}

@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
    if (requestCode == 0) {
        if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED
                && grantResults[1] == PackageManager.PERMISSION_GRANTED) {
            captureImage();
        }
    }
}
private void captureImage(){
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    File photo = new File(Environment.getExternalStorageDirectory(), "picture.jpg");
    imageUri = Uri.fromFile(photo);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
    startActivityForResult(intent, REQUEST_CAMERA);
}