【问题标题】:Sony SmartWatch 3 (SWR50) no longer returns Sensor.TYPE_LINEAR_ACCELERATIONSony SmartWatch 3 (SWR50) 不再返回 Sensor.TYPE_LINEAR_ACCELERATION
【发布时间】:2015-06-15 21:29:14
【问题描述】:

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

mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION);

这直到最近才起作用,但是每个 SensorEvent 现在都返回一个值浮点数组,其中包含:NaN、NaN、NaN。

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

SWR50 上的软件版本是:

Android Wear 1.1.1.1929530

Google Play 服务 7.5.71 (1955121-534)

安卓操作系统 5.1.1

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

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

【问题讨论】:

  • 我还从 TYPE_LINEAR_ACCELERATION 获得了 NAN(没有实际值)。 Android Wear 1.3.0.2160025 Google Play services 8.4.89 (2428711-534) Android OS 5.1.1 在我重新启动手表后,它似乎工作正常 - 但之后每次我运行应用程序时,我只会得到 NaN。
  • 在将 sony-smartwatch-3 升级到 6.0.1 后,我今天开始面临同样的问题

标签: android sony sony-smartwatch


【解决方案1】:

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

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

【讨论】:

  • 1.是的,在 I|O 期间更新到 5.1.1。 2. 是的;这似乎奏效了,尽管我仍然得到一些 NaN。
  • 6.0.1升级后此问题依旧。
【解决方案2】:

所以看起来 Sensor.TYPE_GRAVITY 是问题所在。它在重新启动后返回有效结果,然后在我下次运行应用程序时返回 NaN。推测 LINEAR_ACCELERATION 是使用重力矢量来计算的。

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

我猜如果它是一个正在添加的随机值,那么偶尔它可能是有效的,这就是为什么它偶尔会起作用。

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

【讨论】:

    【解决方案3】:

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

    Android Wear 1.4.0.2715035

    Google Play 服务 8.7.02 (2624717-534)

    安卓操作系统 6.0.1

    内部版本号:MEC24H

    【讨论】:

    • 我遇到了同样的问题 - 你解决了吗?
    • 好久不见。我真的不记得我是如何解决的。但很可能更新版本的固件可能已经修复了它。
    猜你喜欢
    • 2015-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多