代码之家  ›  专栏  ›  技术社区  ›  Joe

摄像机意图。getData()在某些设备中返回null,主要是在android 7.0中

  •  1
  • Joe  · 技术社区  · 7 年前

    摄像机意图。getData()在某些设备中返回null。

    启动摄像机查看结果,

    Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
                startActivityForResult(cameraIntent, CAMERA_REQUEST);
    

    public static Uri getImageUri(Context inContext, Bitmap inImage) {
            ByteArrayOutputStream bytes = new ByteArrayOutputStream();
            inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
            String path = MediaStore.Images.Media.insertImage(inContext.getContentResolver(), inImage, "Title", null);
            return Uri.parse(path);
        }
    

    图像质量将变差 . 感谢您的帮助。

    1 回复  |  直到 7 年前
        1
  •  1
  •   CommonsWare    7 年前

    摄像机意图。getData()在某些设备中返回null。

    null 适用于所有摄像头应用程序。

    我尝试了以下代码获取图像的Uri路径

    Bitmap ,然后返回一个 Uri MediaStore 表示该内容。

    在创建 ByteArrayOutputStream

    图像质量将变差

    EXTRA_OUTPUT 要告诉摄像头应用程序保存全分辨率图像的位置,请在中使用该位置 onActivityResult() . This sample app 演示了这一点。