Android IBeacon Library:如何不直接使用活动

时间:2014-05-13 00:51:24

标签: android ibeacon ibeacon-android android-ibeacon

前提是我正在编写一个本身使用和实现IBeacon SDK的库。 我的代码必须实现该SDK,做一些事情,如果有人使用我的库,他们根本不需要与这个SDK交互,所以我可以说你可以说更高级别的代码库。

现在我的代码本身不能使用任何活动,它只是一个库,另一个用户将实现我的代码。因此,我的代码需要使用IBeacon事件并使用它做一些事情而不是自己的活动。

所以我会自己实现IBeaconConsumer然后使用我的库的人只会给我一个活动/上下文,我会把它传递给IBeacon SDK。

这样做会导致以下问题(使用正确的主要代码):

  

活动绑定其iBeaconManager对象但是onIBeaconServiceConnect永远不会被调用。   请参阅此stackoverflow问题:Android IBeaconManager not connecting from activity

我的模糊假设是这样的:实现IBeaconConsumer的类不是一个活动,它与我绑定IBeacon服务的类不同,可能会产生问题。 它只是非常难以调试,因为它一切正常,没有错误,只是没有ibeacon活动 - 同样的行为就好像你忘记在清单中添加部分一样

1 个答案:

答案 0 :(得分:1)

如果您希望IBeaconConsumer实施不是ActivityService的实例,那么您只需要链接bindServiceunbindService有效ApplicationContext实例的方法,并从getApplicationContext方法返回该有效实例。当您使用Activity实现此接口时,不需要这样做,因为Activity为您实现了这三种方法。

您可以在a related question here.

中查看此示例