我正在我的项目中使用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
有人可以帮忙解决以上问题吗?
我有同样的问题,似乎 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 上运行。
确保您已生成图像 Uri,您将通过 FileProvider 将其通过 Intent 发送到相机应用程序。
相机应用程序在返回 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
就我而言,图像丢失了。
请将图像字节字符串(而不是简单的字符串)传递到解码器 BitmapFactory.decodeStream 方法中。
此错误源自 Android Studio 模拟器,可能与您选择的 API/库无关,无论是在原生 Android 还是 Flutter 中。我偶尔遇到过这个问题,它只发生在模拟器中。所有网络/在线图片都无法在应用程序上显示,并且到处显示上述错误消息。不过,我的应用程序在我的 USB 连接手机上运行良好。
更新/重新下载模拟器的映像解决了该问题。