我正试图检测我周围的信标,但使用Nearby API,我似乎无法找到它们.
我正在使用此方法来检测附近的设备:
public void startDiscovery(String serviceId, final OnDiscoveryListener l) {
Nearby.Connections.startDiscovery(googleApiClient, serviceId, Connections.DURATION_INDEFINITE, new Connections.EndpointDiscoveryListener() {
@Override
public void onEndpointFound(String endpointId, String deviceId, String serviceId, String endpointName) {
if (l != null) {
l.onEndpointFound(endpointId, deviceId, serviceId, endpointName);
}
}
@Override
public void onEndpointLost(String s) {
if (l != null) {
l.onEndpointLost(s);
}
}
})
.setResultCallback(new ResultCallback<Status>() {
@Override
public void onResult(Status status) {
if (l != null) {
l.onResult(status);
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
听众看起来像这样:
public interface OnDiscoveryListener {
public void onResult(Status status);
public void onEndpointFound(String endpointId, String deviceId, String serviceId, String endpointName);
public void onEndpointLost(String s);
}
Run Code Online (Sandbox Code Playgroud)
但我无法发现任何东西
尽管 Google 宣传使用 Nearby API 来检测我们周围的信标:
适用于 Android 和 iOS 的 Nearby API 使应用程序可以更轻松地查找附近的设备和信标并与之通信
来源:http ://android-developers.blogspot.be/2015/07/lighting-way-with-ble-beacons.html
我无法使用附近的 API 来检测 Eddystone 信标。我将在下面描述我在研究过程中收集的所有信息,希望这可以节省一些人的时间。
我设置了与您检测 Estimote 信标相同的代码,但我无法找到要提供的服务 ID 来使其Nearby.Connections.startDiscovery()检测我的信标(我尝试使用信标 UUID 和一些变体,但没有成功)。
我在 Estimote 的网站上发现,您需要更新信标固件才能将其配置为 Eddystone 信标:http://developer.estimote.com/eddystone/#configure-estimote-beacons-to-broadcast-eddystone。我的不是,所以我就这么做了。
尽管如此,这并没有解决我的问题,我仍然无法使用附近的 API 检测到信标。我尝试将其设置为 Eddystone-UID 和 Eddystone-URL,并尝试了多种组合(基于 Estimote 应用程序提供的信息)作为服务 ID,但均未成功。
更深入地研究附近 API 的文档表明,Google 在其附近 API 文档 ( https://developers.google.com/nearby/connections/overview ) 中没有提及任何有关信标或 Eddystone 的内容,并且 Google 关于信标的示例也没有提及。完全使用附近的API:https ://github.com/google/beacon-platform/tree/master/samples/android
然而,他们确实提到“附近的消息”将允许丰富的交互,例如“协作编辑、组建小组、投票或广播资源”,并且即将推出:
即将推出:Nearby Messages API 将在 Google Play 服务 7.8 中提供。当新版本可用时,本网站将使用完整的 API 文档进行更新。
来源: https: //developers.google.com/nearby/
我的理解是,Google Play Services 7.8 将提供对信标的支持,因为信标是广播资源。
同时,如果您仍然希望能够检测周围的 Eddystone 信标,您可以使用 Estimote 的 Android SDK: https: //github.com/estimote/android-sdk#quick-start-for-eddystone 或实现相同的代码为 Google 的 Beacon Proximity 示例: https ://github.com/google/beacon-platform/tree/master/samples/android
| 归档时间: |
|
| 查看次数: |
5811 次 |
| 最近记录: |