传感器 TYPE_GRAVITY 停止报告值

问题描述

我注意到我的 Pixel 2 上的“虚拟”或“融合”Android 重力传感器 (TYPE_GraviTY) 有一些非常奇怪的地方,这在其他测试设备(三星 A20)上似乎没有问题。我运行一个前台服务,在后台监听重力传感器。

Google 地图一打开,我的 sensorEventListener 就停止接收重力传感器值。更有趣的是,我用来检查重力传感器 (SensorKinetics) 的另一个应用程序中也不再报告重力传感器值。但是,这只发生在我的应用程序正在运行时!如果我的应用未注册重力传感器,则转到 Google 地图并返回 SensorKinetics 不会停止这些值。

要修复它,重力传感器必须重新注册到 SensorManager。如果在您尝试重新注册传感器时 Google 地图仍处于打​​开状态,则这不起作用,并且传感器保持冻结状态!

有人看过吗?我能做些什么来防止它?很明显,SensorKinetics 能够在地图打开时挂在传感器上,但我的不能,更糟糕的是,会破坏重力传感器系统!

编辑:我发现以 SENSOR_DELAY_GAME 的频率更新注册可以解决此问题。一旦打开谷歌地图,任何更慢的东西和重力传感器都会在系统范围内冻结。我仍然想要一个解释。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)