【问题标题】:D/skia: --- Failed to create image decoder with message 'unimplemented'D/skia: --- 无法创建带有消息“未实现”的图像解码器
【发布时间】:2020-05-21 00:38:15
【问题描述】:

我在我的项目中使用https://github.com/jhansireddy/AndroidScannerDemo这个扫描库。

当我捕获图像时,我在控制台中收到D/skia: --- Failed to create image decoder with message 'unimplemented',并且捕获的图像未设置为 Android P 中的 imageview。

当我在 Android Q 中测试相同的应用程序时,我也遇到了错误。

2020-02-05 11:32:23.668 9270-9270/? E/ReviewScreenImpl: onClickOKButton() - Fail to decode captured picture

有人可以帮忙解决上述问题吗?

【问题讨论】:

  • 你是否在他们的 github 上为此创建了问题?
  • 是的,我在 github 上创建了问题,但之前我也在那里创建了 2,3 个问题,但没有得到任何回应。
  • 只是确保,在 github 上提出问题通常是个好主意
  • 有什么解决办法吗?
  • 使用新的活动结果 API 获取相机结果时出现此错误

标签: android android-camera android-manifest android-fileprovider


【解决方案1】:

我也有同样的问题,getResources 中似乎有一个错误,不在您使用的库中,因为我不使用它。但是,您可以改用 ResourcesCompat,如下所示:

val myLogo = (ResourcesCompat.getDrawable(this.resources, R.drawable.ic_home_black_24dp, null) as VectorDrawable).toBitmap()

val myLogo = (ResourcesCompat.getDrawable(this.resources, R.drawable.ic_home_black_24dp, null) as BitmapDrawable).bitmap

取决于您的可绘制类型(矢量或图像)。

请注意,这只会在 API > 22 上运行。

【讨论】:

    【解决方案2】:

    请将图像字节字符串而不是简单的字符串传递到您的解码器 BitmapFactory.decodeStream 方法中。

    【讨论】:

      【解决方案3】:

      确保您已生成图像 Uri,您将使用 Intent 使用 FileProvider 将其发送到相机应用程序。

      相机应用将在返回Activity.RESULT_OK之前保存图片的图像uri应该像这样使用FileProvider生成

      FileProvider.getUriForFile(
              context,
              context.getString(R.string.file_sharing_authority),
              File(filePath)
      

      有关如何将我们的文件共享给其他应用程序(如相机应用程序)进行读取或写入的更多信息,请参阅https://developer.android.com/reference/androidx/core/content/FileProvider

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-06
        • 1970-01-01
        • 1970-01-01
        • 2015-06-04
        相关资源
        最近更新 更多