未调用AltBeacon onBeaconServiceConnect

And*_*nii 6 android ibeacon ibeacon-android android-ibeacon altbeacon

我使用其示例坚持使用AltBeacon库实现简单的Beacon监视器.简而言之:我使用其参考应用程序,下载并在我的三星Galaxy S2上使用CM(Android 4.4.4)集成了其最新版本和运行应用程序.虽然调用了bindService,但我看到onBeaconServiceConnect回调从未调用过.我相信应该调用onBeaconServiceConnect以使应用程序正常工作.

我试过设置beaconManager.debug = true; 但它没有向我显示任何新日志(可能是因为我正在使用来自网站的预编译库).

此外,我已经检查了我的固件/硬件是否存在问题 - 但我发现它能够监控来自Google Play的其他应用程序的信标.我有iPhone和MacBook以及另外一个Android设备,所以我可以模拟让AltBeacon捕获它所需的任何传输信号.

有人能帮我吗?我很感激你给我的任何线索!

dav*_*ung 8

未能收到回调onBeaconServiceConnect通常是由AndroidManifest.xml声明设置的错误设置引起的BeaconService.该库使用清单合并在编译时自动将这些定义AndroidManifest.xml从库中合并到您的应用程序中AndroidManifest.xml.如果未启用清单合并,则永远不会声明该服务,并且应用程序将不会获得onBeaconServiceConnect回调.

如果使用Eclipse,请检查project.properties文件并确保它具有以下行:manifestmerger.enabled=true.

如果这不能解决您的问题,请发布绑定到的代码BeaconService并让我们知道您正在使用的IDE.

  • 你是对的,只是通过向清单添加服务声明来解决问题.我正在使用Intelij IDEA,不知道如何在那里进行自动合并.但是添加以下内容会有所帮助:<service android:enabled ="true"android:exported ="true"android:isolatedProcess ="false"android:label ="beacon"android:name ="org.altbeacon.beacon.service.BeaconService" > </ service> <service android:enabled ="true"android:name ="org.altbeacon.beacon.BeaconIntentProcessor"> </ service> (7认同)