【发布时间】:2014-02-23 09:29:11
【问题描述】:
我的任务是为 Android 创建一个 iBeacon 客户端。客户端的目的是当另一个客户端请求用户位置时,通过 WIFI/3g/4g 将最近的信标的 ID 传输到服务器。
现在,我想知道,就电池消耗而言,最好的方法是什么?
有(据我所知)两种方法:
1)。每当最近的 Beacon 的 ID 发生变化时,将新的 ID 直接上传到服务器。
2)。将最近的信标的 ID 存储在本地客户端的手机上。仅当服务器请求客户端这样做时才将其上传到服务器。
编号 1)。意味着每次用户接近新的 iBeacon 时都必须激活 WIFI。另一方面,2)。需要手机监听端口才能处理来自服务器的请求。
编辑:我在这里读到了无线电状态机:http://developer.android.com/training/efficient-downloads/efficient-network-access.html
如果我让 ServerSocket 在后台运行,这会让我的手机处于 Radio Low Power 模式吗?在我看来,选项 1) 将在每次发送信标 ID 时将手机置于全无线电功率,但之后,手机将回到低功耗/睡眠模式,这将节省我的电池电量。 2)另一方面会阻止手机进入睡眠模式,因为我必须保持与服务器的持久连接。
【问题讨论】:
标签: android android-wifi battery ibeacon