如何通过 estimote android sdk 更改 estimote 信标的 UUID?
Posted
技术标签:
【中文标题】如何通过 estimote android sdk 更改 estimote 信标的 UUID?【英文标题】:How to change an estimote beacon's UUID through estimote android sdk? 【发布时间】:2017-02-02 19:22:10 【问题描述】:下午好。我正在开发一个 android 应用程序,我正在尝试将一个 estimote 信标与该应用程序集成。问题是我希望能够发现特定设备更改设备的 UUID、次要、主要。
要发现和确定我正在使用的信标:
beaconManager.startRanging(region);
beaconManager.setRangingListener(new BeaconManager.RangingListener()
@Override
public void onBeaconsDiscovered(Region region, List<Beacon> list)
if (!list.isEmpty())
for(Beacon b : list)
if (b.getMacAddress().equals(macaddress))
%%Now that i have the Beacon b I would like to change it's UUID, major and minor.
);
有人可以帮助我吗?我知道为了更改 UUID,我需要连接到 estimote 云,但我不太明白如何(他们网站上的示例使用了已弃用的 BeaconConnection)。
【问题讨论】:
无法更改 iBeacon 的 UUID。 @AjayShrestha 是的,你可以估计 【参考方案1】:我使用这种方法,我在 Estimote andriod sdk 上找到,它已被 Estimote 弃用,但通过在 android studio 中使用正确的 api 设置可以正常工作。
我还没有找到替代解决方案,但如果我找到了,我会更新我的答案。
private void editBeacon(final Beacon beacon, UUID newUuid, int newMinor, int newMajor)
connection = new BeaconConnection(this, beacon, new BeaconConnection.ConnectionCallback()
@Override
public void onAuthorized(BeaconInfo beaconInfo)
@Override
public void onConnected(BeaconInfo beaconInfo)
Log.d(TAG, "Authenticated to beacon. Info: " + beaconInfo);
Log.d(TAG, "Advertising internal: " + connection.advertisingIntervalMillis().get());
Log.d(TAG, "Broadcasting transmitPower: " + connection.broadcastingPower().get());
@Override
public void onAuthenticationError(EstimoteDeviceException exception)
Log.d(TAG, "Authentication Error: " + exception);
@Override
public void onDisconnected()
Log.d(TAG, "Disconnected");
);
connection.authenticate();
// Interact with beacon.
// You can update beacon's properties in following way:
connection.edit()
.set(connection.proximityUuid(), newUuid)
.set(connection.major(), newMajor)
.set(connection.minor(), newMinor)
.commit(new BeaconConnection.WriteCallback()
@Override
public void onSuccess()
@Override
public void onError(EstimoteDeviceException exception)
);
// Do not forget to close connection.
connection.close();
【讨论】:
以上是关于如何通过 estimote android sdk 更改 estimote 信标的 UUID?的主要内容,如果未能解决你的问题,请参考以下文章
Estimote Beacon - 如何将 EstimoteTelemetry 与 Beacon 匹配
Estimote iBeacons 监控无法在 iOS 9.0.2 上运行
ESTBeaconConnection 使 Estimote 信标无法被发现
从 Estimote Connection 获取 UUID、Major、Minor