【问题标题】:Converting bitmap Image to Uri not working将位图图像转换为 Uri 不起作用
【发布时间】:2018-11-29 18:21:26
【问题描述】:

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

  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);
}

它在 Marshmellow 的上述设备中工作正常,但在以下版本中不工作

MediaStore.Images.Media.insertImage

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

我正在使用 karbon 5.1 (API 22)

【问题讨论】:

  • 发生了哪个错误
  • 我正在使用 karbon 5.1 (API 22) 并且 MediaStore.Images.Media.insertImage 在方法中返回 null 而不是 String
  • @pskink 我正在考虑路径并且它返回 null 这是不让 Uri.parse 返回 Uri 的情况

标签: android uri android-bitmap bitmapimage


【解决方案1】:

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

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

【讨论】:

  • 我已在运行时包含上述权限,请您详细说明第 1 点和第 2 点,因为我有位图实例并传入 getImageUri 方法
猜你喜欢
  • 1970-01-01
  • 2017-11-13
  • 2014-03-26
  • 1970-01-01
  • 1970-01-01
  • 2014-01-11
  • 1970-01-01
  • 1970-01-01
  • 2012-01-07
相关资源
最近更新 更多