首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用传感器数据的Android智能电源管理

使用传感器数据的Android智能电源管理
EN

Stack Overflow用户
提问于 2015-05-24 20:36:39
回答 2查看 226关注 0票数 3

我正在开发一个Android应用程序,需要定期扫描附近的Wi接入点。目前,扫描每2-3分钟进行一次,这需要注册一个BroadcastReceiver来捕获扫描结果,调用WifiManagerstartScan方法并处理结果(在我的例子中,这也需要网络调用)。这个循环消耗了大量的能量,我想通过为应用程序实现智能电源策略来提高我的功耗。

除了在“繁忙时间”进行扫描(例如,在夜间停止循环)之外,我还在考虑使用SensorManager中的加速度计来检测设备是静止的(放在桌子上)还是在运动中(例如,行走时在用户的口袋中)。然后,通过确定设备是否在移动,我可以调整扫描频率(当扫描频率固定时减小,当设备运行时增加扫描频率)。

关于这个问题,我有几个问题:

1)定期跟踪加速度计数据是否比每3-5分钟运行一次扫描回路更有效?跟踪加速度计的实际成本是多少?

2)如何确定该装置是静止的还是在运动中?我在网上看到了很多关于检测震动和倾斜的问题,但是关于自然运动检测的信息并不多。另外,我应该多久取样一次传感器?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-24 21:23:29

我认为最好的方法是使用google服务中包含的ActivityRecognitionApi类,它是针对这样的目标进行优化的。这个类给出了一种方法:requestActivityUpdates,该方法被优化为以最小功耗返回设备状态。

通过周期性地唤醒设备和读取传感器数据的短脉冲来检测这些活动。它只使用低功率传感器,以使功耗保持在最低限度。

票数 2
EN

Stack Overflow用户

发布于 2017-02-07 05:35:44

我支持Fouwad Wahabi对你问题的回答。我建议采取另一种方法的轨道加速度计和您的用户的活动。我会集成一个免费的SDK (在线可得),例如: 1. Tranql 2. Neura 3. Atooma这些SDK中的一些一旦发生,就会立即发送用户活动的详细信息,并且使用的电池不足1%。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30428080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档