我已经构建了一个 flutter 应用程序,该应用程序具有借助 flutter 罗盘依赖项显示朝拜方向等功能。此应用程序在最新版本的 Android 设备中运行良好,但如果我尝试在旧版本(API 16、API 17)中安装此应用程序,它会显示“不幸的是,此应用程序已停止”。我在 logcat 中检查它显示“java.lang.IllegalStateException:sensorManager.getDefaultSensor(sensorType) 不能为空”。那么我是否需要在 android 文件夹中添加一些 native 代码或在 buildgradle 中添加依赖项?
最佳答案
在 Android 上,flutter_compass 插件使用 TYPE_ROTATION_VECTOR
传感器类型以访问指南针传感器。此值是在 Android SDK 20(Android 4.4,KitKat)中添加的。因此,该插件不适用于 KitKat 之前的 Android 版本。
因此,您可以选择在插件的 github page 上提交问题。或者尝试自己在 native 端重新创建功能,并修复 KitKat 之前的 Android 版本。
关于android - java.lang.IllegalStateException : sensorManager. getDefaultSensor(sensorType) 在 Flutter 中不能为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60064517/