2

如何在我的应用程序未运行时启动 iBeacon。我的意思是我必须有一些可以放在我的应用程序清单中的广播接收器。

编辑:

由于这个问题具有误导性,让我再次改写一下:

我创建了一个检测 iBeacon 1 的项目。处于活动运行状态。2. 在役。

如果我想在检测到 iBeacon 时得到通知,当应用程序未运行时,我有一个选项是通过服务。但这会耗尽电池。那么是否有任何广播接收器在检测到任何 iBeacon 时立即通知我的应用程序。

我为此编写的演示代码是: https ://github.com/Vinayrraj/Android-iBeacon-Demo

4

2 回答 2

4

您只需在后台运行一项服务即可。必须运行代码来检测 iBeacon(例如 Radius Networks 的Android iBeacon 库)。如果您没有运行服务,那么后台检测将如何进行?

是的,在后台运行的任何东西都会耗尽电池电量,但如果它大部分时间都在休眠,它不会消耗太多电池电量。降低扫描频率可以节省电池寿命。以 iOS7 为例,当 iBeacons 没有前台应用程序时,操作系统仅每隔几分钟进行一次蓝牙扫描。

因此,解决电池问题的方法是降低服务中蓝牙扫描的频率,以便在电池寿命和 iBeacon 检测速度之间做出可接受的权衡。如果您使用的是我公司的Android iBeacon Library,那么。您可以根据自己的喜好调整常数。

编辑:我的公司发布了 Android iBeacon 库的“Pro”版本,具有在看到一个或多个 iBeacon 时启动应用程序的内置功能。它还包括一个自动省电模式,可在您的应用程序处于后台时减慢蓝牙扫描速度。在此处查看代码示例:http: //developer.radiusnetworks.com/ibeacon/android/pro/download.html

于 2013-11-22T03:19:09.843 回答
-1

In order to do something on Android, you have to create an Application. In order to make something work, something that you coded, you need to run your app. So it is not possible to do something like what you want. Sorry, mate.

于 2013-11-21T12:49:52.673 回答