将位图图像转换为Uri不起作用

时间:2018-11-29 09:42:38

标签: android uri android-bitmap bitmapimage

我正在使用以下代码将位图图像转换为Uri

new_df.columns = ['Date', 'NonHoliday']

在Marshmellow以上版本的设备中运行正常,但在以下版本中无效

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

上面提到的方法中的代码在失败的情况下返回null。我通过互联网进行搜索,但没有得到正确的答案。希望有适当的指导原则。

我正在使用karbon 5.1(API 22)

1 个答案:

答案 0 :(得分:0)

MediaStore.Images.Media.insertImage实际上是在访问外部存储以保存图像。 一些重要的提醒可能会导致您的应用失败:

  1. 如果处于大容量存储模式,则USB连接会阻止SD卡的使用。
  2. 还有其他因素可能导致无法访问SD卡,因此请确保您可以首先使用文件浏览器访问SD卡。
  3. 确保已使用android.permission.WRITE_EXTERNAL_STORAGE和android.permission.READ_EXTERNAL_STORAGE正确配置了权限