如何使用传感器API不ControlExtension?(How to use Sensor API

2019-10-19 13:18发布

我试图让一个应用程序用于侦听手表的加速度传感器发送的值,以在手机上运行的另一个应用程序的Smartwatch折价2。 基本上,它总是听加速度计,用户是否正在使用的手表或没有。 因此,我想做到这一点只使用ExtensionService,并有可能在未来的Notification API发送基于加速度计的发出警报。

问题是,我无法弄清楚如何正确添加和聆听的传感器没有ControlExtension(如SampleSensorExtension)。

这些问题似乎是没有办法的传感器添加到AccessorySensorManager的ControlExtension之外。 如果我试图做到这一点在OnCreate(),onStartCommand()甚至onRegisterResult()方法,我无法找到任何可用的传感器。 因此,DeviceInfoHelper.isSensorSupported(这一点,this.getPackageName(),SensorTypeValue。))总是返回false。

如何获得和ExtensionService中添加所有支持的传感器? 索尼工程师可以请揭示的情况有一些启发,考虑一个潜在的解决方案? 谢谢!

Answer 1:

这是不可能使用传感器API,而无需使用控制API为好。 如果您使用的是控制的扩展,可以当手表进入低功耗模式,因为你已经知道捕捉加速计数据。



Answer 2:

根据文档 ,似乎不可能的(尤其是如果传感器活性受的SmartWatch的固件,而不是在Android侧管理)。

它指出:

加速度计可用于当前启动的控制扩展。 如果控制被暂停时,例如由于在到达屏幕超时,电源按钮被按下或另一个控制扩展开始时,传感器也将停止。

你可以做的采用了Android设备传感器(一个或多个),如果它适合您的要求是。



文章来源: How to use Sensor API without ControlExtension?