android - java.lang.IllegalStateException : sensorManager. getDefaultSensor(sensorType) 在 Flutter 中不能为空

标签 android android-studio flutter dart

我已经构建了一个 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/

相关文章:

android-studio - Android 在 Android Studio 中加载时卡住

Flutter 制作垂直 appBar

android - 如何使默认相机应用程序在拍照后继续运行而不返回应用程序?

azure - Android 新手 - 在物理设备上调试具有外部依赖项的应用程序

java - Android从原始共享按钮音频

java - 调试:设备已连接但没有帧可用

Flutter:检查日期是否在两个日期之间

当文本大于输入时 flutter ,文本消失

java - Android onTouch 事件没有发生?

java - Lollipop 上的 android Theme.Holo.Light.DarkActionBar