1

我一直在尝试使用 Kontakt.io 的示例 Android 应用程序(可在地址获得)来实现一个简单的应用程序,该应用程序将连接到 Kontakt 信标并更改主要、次要、txPower 等详细信息。我能够检测到信标并阅读上述所有内容的正确详细信息,但我无法更改它们。查看示例应用程序,步骤应该很简单,这就是我所做的

  1. onBeaconsDiscovered 有一个 BeaconDevice 对象列表作为参数,因此我选择其中一个 BeaconDevice 对象并将其存储在名为beacon.
  2. 然后我说beacon.setPassword("password".getBytes())。实际使用的密码是来自 Kontakt.io 网络面板的特定信标的密码。
  3. BeaconConnection beaconConnection = BeaconConnection.newInstance (MyActivity.this, beacon, connListener);
  4. beaconConnection.connect()

根据示例应用程序应该是这样,但它似乎并没有真正起作用。我连接到信标(意味着onConnected()调用回调),但随后我收到一条错误消息,指出由于密码错误而导致身份验证失败。

我已经尝试过使用来自 Kontakt 的几个不同的信标,使用 Web 面板中的密码,但它不起作用,虽然有可能,但我不认为我只是有一个错误的信标。

他们的文档中有一些关于这些信标的主密码的评论 - 不知道从哪里获得或者是否需要。

我有点怀疑 Kontakt 在这里有这个示例应用程序,但他们还没有在 Google Play 商店上发布它(即他们的代码真的有效吗?)。

无论哪种方式,我都会很感激对我所缺少的东西的任何想法。

我正在尝试将其用作大型应用程序的一部分,该应用程序将使用信标做很多事情,因此需要编写我自己的应用程序。

请注意,这专门针对 Kontakt.io 信标,尤其是他们的 Android SDK。

4

1 回答 1

0
beacon.setPassword("password".getBytes())

Kontakt.io 的信标有 4 字节长的密码,这就是您无法访问信标参数的原因。

示例应用程序允许您授权信标并操纵其参数。

另请注意,一旦您尝试使用错误的密码授权信标,它将拒绝连接并将其状态更改为 NON-CONNECTABLE。

引入了 NON-CONNECTABLE 状态以防止来自未知用户的多个连接请求。

NON-CONNECTABLE 状态持续不超过 20 分钟,在此期间无法与您的信标建立连接。

欲了解更多信息,请访问kontakt.io 的知识库kontakt.io - Beacon 数据表

于 2015-02-12T13:43:13.837 回答