1

我一直在嘗試使用Kontakt.io的示例Android應用程序(可在this地址處)實現一個簡單的應用程序,該應用程序將連接到Kontakt信標並更改詳細信息,如主要,次要,txPower等。我能夠檢測到信標並閱讀上述所有正確的細節,但我無法更改它們。縱觀示例應用程序,步驟應該是簡單的,這是我做了什麼使用Android SDK更改Kontakt.io燈塔特徵

  1. onBeaconsDiscovered具有BeaconDevice對象作爲參數,所以我選擇那些BeaconDevice對象之一,其存儲在名爲beacon變量列表。然後我說beacon.setPassword("password".getBytes())。使用的實際密碼是Kontakt.io Web面板中特定信標的密碼。
  2. BeaconConnection beaconConnection = BeaconConnection.newInstance (MyActivity.this, beacon, connListener);
  3. beaconConnection.connect()

這應該根據示例應用程序是它,但它似乎並沒有實際工作。我連接到信標(意思是onConnected()回叫被稱爲),但然後我得到一個錯誤,說明由於密碼錯誤,驗證失敗。

我已經嘗試了這兩個不同的信標,從Kontakt新,使用從Web面板的密碼,它不工作,所以,雖然可能性,我不認爲我只是有一個錯誤的信標。

在他們的文檔中有一些關於這些信標的主密碼的評論 - 不確定從哪裏得到該信息,或者如果那是必需的。

我有點懷疑Kontakt在這裏有這個示例應用程序的事實,但他們還沒有在Google Play商店發佈它(即他們的代碼實際上是否工作?)。

無論哪種方式,我會很感激我失蹤的任何想法。

我想用這個作爲一個大型應用程序的一部分,將做一堆事情與信標,因此需要編寫我自己的應用程序。

請注意,這是特別關於Kontakt.io信標,特別是他們的Android SDK。

回答

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

Kontakt.io的信標有4字節長的密碼,這就是爲什麼你不能訪問你的信標參數。

The sample app允許您授權您的信標並操縱其參數。

也請注意,一旦你嘗試授權錯誤的密碼信標將拒絕連接,並改變其狀態,以不可連接。

引入非連接狀態,以防止未知用戶多個連接請求。

NON-CONNECTABLE狀態持續時間不超過20分鐘,在此期間不能建立到您的信標的連接。

欲瞭解更多信息,請訪問kontakt.io's knowledge basekontakt.io - Beacon datasheet

+0

我沒有在代碼片段把實際的密碼以上。正如原文所述,我使用Kontakt.io Web面板中的相關信標的密碼,正如您所提到的那樣,它是一個4字符的密碼。 – 2015-02-12 21:59:40

+0

關於不可連接性,首先,如果我使用web面板的正確密碼,爲什麼拒絕它並說密碼不正確?其次,每次它說密碼不正確時,我都會手動取出電池並將其重置 - 根據kontakt.io文檔,應該立即再次連接。感謝您的迴應,但我不認爲它真的解決了這個問題。 – 2015-02-12 22:01:52