Camera intent.getData() return 在某些设备中为空,主要在 android 7.0
Camera intent.getData() return null in some devices,Mainly in android 7.0
相机 intent.getData() return 空,在某些设备中。
为结果启动摄像头,
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_REQUEST);
我试过下面的代码获取图片Uri的路径,
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);
}
它会给我图片的Uri,但是图片质量会变差。
任何帮助表示赞赏。
Camera intent.getData() return null,In some devices.
所有相机应用程序都应该 return null
。
I tried following code get path of Uri of image
该代码没有 "get path of Uri of image"。它将 Bitmap
保存到一个随机的、未记录的文件中,然后 return 是 MediaStore
中表示该内容的 Uri
。
它还会浪费堆 space,因为您创建一个 ByteArrayOutputStream
,将 JPEG 写入其中,然后将其全部丢弃。
image quality will become poor
一开始图像质量很差,因为您要求相机应用程序给您一张缩略图。使用 EXTRA_OUTPUT
告诉相机应用在何处保存全分辨率图像,然后在 onActivityResult()
中使用该位置。 This sample app 证明了这一点。
相机 intent.getData() return 空,在某些设备中。
为结果启动摄像头,
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_REQUEST);
我试过下面的代码获取图片Uri的路径,
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);
}
它会给我图片的Uri,但是图片质量会变差。 任何帮助表示赞赏。
Camera intent.getData() return null,In some devices.
所有相机应用程序都应该 return null
。
I tried following code get path of Uri of image
该代码没有 "get path of Uri of image"。它将 Bitmap
保存到一个随机的、未记录的文件中,然后 return 是 MediaStore
中表示该内容的 Uri
。
它还会浪费堆 space,因为您创建一个 ByteArrayOutputStream
,将 JPEG 写入其中,然后将其全部丢弃。
image quality will become poor
一开始图像质量很差,因为您要求相机应用程序给您一张缩略图。使用 EXTRA_OUTPUT
告诉相机应用在何处保存全分辨率图像,然后在 onActivityResult()
中使用该位置。 This sample app 证明了这一点。