索尼智能手表 3 (SWR50) 不再 returns Sensor.TYPE_LINEAR_ACCELERATION

Sony SmartWatch 3 (SWR50) no longer returns Sensor.TYPE_LINEAR_ACCELERATION

我正在编写一个使用 Sensor.TYPE_LINEAR_ACCELERATION 的应用程序。

mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION);

这直到最近才有效,但是现在每个 SensorEvent returns 一个值浮点数组包含:NaN、NaN、NaN。

我在 LG 手表上尝试了相同的代码,它返回的值符合我的预期。

SWR50 上的软件版本为:

Android穿1.1.1.1929530

Google 播放服务 7.5.71 (1955121-534)

Android OS 5.1.1

请注意 Sensor.TYPE_ACCELEROMETER returns 值(已在开发者选项中的制造商(菜单启动器)应用程序中确认),因此加速度计似乎没有损坏。

索尼的任何人都可以确认这个问题吗?否则,如果它坏了,我可能需要买一块新手表。

听起来很奇怪,它会突然停止工作。

  1. 您最近有没有安装任何固件更新?
  2. 你试过重启手表吗?
  3. 您尝试过恢复出厂设置吗?

看来 Sensor.TYPE_GRAVITY 是问题所在。它 returns 重新启动后有效结果,然后下一次我 运行 该应用程序它 returns NaNs。大概LINEAR_ACCELERATION是用重力向量来计算的。

如果我不得不猜测,我会说一些虚假值被放入计算重力矢量的低通滤波器中,一旦发生这种情况,它将永远无法恢复。

我想如果添加的是随机值,那么它偶尔可能有效,这就是为什么它偶尔看起来有效。

我想解决方法是改为读取 Sensor.TYPE_ACCELEROMETER 值并进行低通滤波以计算重力。

我将我的 Sony smart-watch-3 SWR50 固件升级到以下版本,我的应用程序不再收到来自 Sensor.TYPE_LINEAR_ACCELERATION 的回调。

Android穿1.4.0.2715035

Google 播放服务 8.7.02 (2624717-534)

Android OS 6.0.1

版本号:MEC24H