use*_*234 7 android android-sensors google-fit
我想每24小时向我的服务器发送一下我走了几步.我有一个AlarmManager即可关闭alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,System.currentTimeMillis(),1000*60*60*24, pendingIntent1)
现在这就是我被困住的地方......我应该如何衡量每日步骤?(记住我需要在后台发送这个)我可以使用这个可以覆盖此功能的服务,public void onSensorChanged(SensorEvent event)
这似乎不太准确,因为我的服务可以被摧毁(电池会很快耗尽).
要么
我可以尝试使用Google Fitness,但每次尝试获取数据时mGoogleApiClient.connect()
我都需要用户请求连接(我需要在后台获取此数据)
有没有经验呢?
onSensorChanged() 确实可以正常工作。设备中的传感器应该足够好,不应该将振动计为一步。但使用 onSencorChanged() 捕获步数时的唯一问题是,如果我们摇动设备,它会将其计为一步。为了避免这种情况,大多数解决方案都会实现跟踪位置并将其发送到后端,以便后端计算设备是否确实移动了。它将实际步数发送回可以显示的设备。
\n保留这一点,对于您的情况,如果您认为服务被破坏是您所关心的,您可以以有保证的方式重新启动它。请参阅我对无法重新启动服务的回答。这解释了当应用程序因最近的任务或在内存不足的情况下被系统杀死时如何使用 UncaughtExceptionHandler 重新启动服务。您的服务不在深度睡眠模式下运行。你可以使用它来运行您可以使用WakefulBroadcastReceiver 和 startWakefulService()。
\n您应该尽可能减少向后端发送数据的频率,以避免耗尽电池。
\n我不确定 GoogleFit API。自己研究一下,您可以添加问题的答案。;-)
\n更新:
\n读取挂起模式有关 android 中传感器的
值得注意的一点:
\n\n\n\xe2\x80\x9cSuspend\xe2\x80\x9d 是一种低功耗模式,其中 SoC(片上系统)不供电。该模式下设备的功耗通常比 xe2\x80\x9cOn\xe2\x80\x9d 模式下的功耗低 100 倍。
\n
归档时间: |
|
查看次数: |
1212 次 |
最近记录: |