我目前正在开发一个记录应用程序,它可以从智能手机和智能手表收集传感器数据。在应用程序中,可以选择设置采样率。当插入两个设备时,一切都按预期工作,但当手表拔出时,它的采样速率远高于指定的速率。 (例如,当命令为20Hz时观察100Hz的样本)
在手表方面,通过服务收集数据,该服务获取部分唤醒锁:
mPowerManager = (PowerManager)getApplicationContext().getSystemService(Context.POWER_SERVICE);
mWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG);
mWakeLock.setReferenceCounted(false);
mWakeLock.acquire();
我知道注册传感器监听器时指定的采样率只是对Android系统的建议,取决于硬件:
mSensorManager.registerListener(WearSensorLogService.this, mAccelerometer, samplingRate);
但是,我可以通过启用"充电时保持清醒来解决问题。在手机上设置(显然插上电源)。这使我觉得它是一个可解决的问题,并且是某种功率设置的问题。任何帮助表示赞赏 - 如果需要有关该应用程序的更多信息,请告诉我。
答案 0 :(得分:0)
修复了人们遇到类似问题的问题。在智能手表的设置中关闭手腕手势有助于手表以所需的采样率精确收集数据。
我认为在制作手腕手势时将活动置于焦点之外是问题所在。但是,这很奇怪,因为所有日志记录都是通过服务完成的。如果我有任何其他发现,将更新帖子。