ML Kit文档扫描器触发Google Play服务崩溃,特定设备返回RESULT_CANCELLED
ML Kit文档扫描器在Android 9设备上返回RESULT_CANCELLED且Google Play服务崩溃
问题详情
应用集成ML Kit Document Scanner后,部分设备可正常启动扫描器,但onActivityResult始终返回RESULT_CANCELLED。日志显示Google Play服务崩溃,抛出异常:
GmsDocScanDelAct E Failed to handle scanning result java.lang.IllegalStateException: Failed to handle result at com.google.mlkit.vision.documentscanner.internal.zzg.run(com.google.android.gms:play-services-mlkit-document-scanner@@16.0.0-beta1:12) at android.os.Handler.handleCallback(Handler.java:873) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:214) at android.os.HandlerThread.run(HandlerThread.java:65)
当前使用的依赖配置:
dependencies { // … implementation 'com.google.android.gms:play-services-mlkit-document-scanner:16.0.0-beta1' }
问题仅出现在OnePlus、Samsung的Android 9设备上,且Google Drive内置的文档扫描器也存在相同故障。

修复建议
- 升级ML Kit版本:当前使用的是16.0.0-beta1测试版本,兼容性问题较多。建议替换为最新稳定版,Google后续版本已修复多起Android 9适配bug。
- 更新Google Play服务:设备上的旧版Play服务可能与ML Kit beta版本冲突,引导用户在Google Play商店更新至最新版Play服务。
- 检查存储权限:Android 9对存储访问有严格限制,扫描器处理结果时可能因权限不足崩溃。确保应用已申请
READ_EXTERNAL_STORAGE和WRITE_EXTERNAL_STORAGE权限,并在运行时动态获取。 - 切换离线扫描模式:如果上述方法无效,可改用ML Kit的离线文档扫描器(无需依赖Play服务),或集成第三方扫描库作为备用方案。
内容的提问来源于stack exchange,提问作者Sathish
相关产品推荐
相关产品推荐

