首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过estimote android sdk更改estimote信标的UUID?

如何通过estimote android sdk更改estimote信标的UUID?
EN

Stack Overflow用户
提问于 2017-02-03 03:22:11
回答 1查看 237关注 0票数 1

下午好。我正在开发一个android应用程序,并尝试将estimote beacon与该应用程序集成。问题是我想要能够发现一个特定的设备,改变设备的UUID,次要的,主要的。

要发现和定位我正在使用的信标,请执行以下操作:

代码语言:javascript
复制
    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,它已被弃用)。

EN

回答 1

Stack Overflow用户

发布于 2017-05-02 22:52:59

我使用这个方法,我在Estimote上发现的,它是被Estimote弃用的,但是在android studio中使用正确的andriod sdk设置没有问题。

我还没有找到替代的解决方案,但如果我找到了,我会更新我的答案。

代码语言:javascript
复制
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();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42010627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档