2011-11-15 93 views
0

我正在開發一個通過藍牙連接設備並交換消息的應用程序。它適用於配對的設備,但我也希望它能自動配對未配對的設備。例如,它可以存儲和使用相同的PIN來配對請求,我只是不知道如何在我的應用程序中以編程方式管理此請求,如何在得到配對請求時自動設置和發送PIN以及如何發起此類請求與預定義的PIN碼一起使用。在android中有2種藍牙設備的自動/編程配對方式嗎?

任何片段或想法將不勝感激! :)

編輯: 我知道它的風險,我正在開發這個應用程序的緊急情況只有在沒有其他手段,但藍牙可用。也有可能是一種過早與設備配對的方式,甚至沒有連接到它們?就像讓我們說有這些設備的MAC地址列表,我可以使用它們與該設備產生綁定,以便它們在我的設備上顯示配對?

+1

雖然不建議,[這裏是迂迴] [1]通過反射的方式。 [1]:http://stackoverflow.com/questions/4464426/specifying-a-link-key-in-android-without-pairing/5858799#5858799 –

+0

感謝,因爲什麼API的版本是,可用? – Miky

+0

@ DennisMathews我做了一個廣播接收機來偵聽配對請求並使用反射來設置引腳,現在無論何時我連接到非綁定設備時,配對對話框將同時出現在兩個設備上,這意味着某些事物(可能是PIN)是通過,但對話框不會關閉,即使控制檯不打印任何錯誤,設備也不會出現綁定。有任何想法嗎? – Miky

回答

1

反映setPin方法允許我自動發送引腳到其他設備。我必須在正在監聽配對請求的廣播接收器中實現它。雖然我不能擺脫對話框,但它只是在屏幕上查找,我不知道如何關閉它(編程),並繼續鍵合過程,因爲該對話框是從connect()中調用的,這是一種阻塞方法。我不會放棄它:)

+0

我知道這是很久以前,但你有沒有設法擺脫針提示? – mol

+1

據我記得不幸,我沒有:( 雖然我設法做更多的WiFi專用連接。 – Miky

1

你不能這樣做。做你想做的事情會造成巨大的安全風險。想一想,我的設備只是來自你的藍牙範圍內的任何地方,現在我可以向你發送任何我想要的東西,而你不知道嗎?你不能這樣做,我強烈建議不要試圖顛覆它。

+1

這可能僅限於他控制的設備(即運行他的軟件),所以我不認爲這會涉及您提到的風險。另外,我相信這是可能的......一切都是。 – Fosco

+1

@Fosco是的,你可能是對的。這可能有一種方法。但是,從來沒有這樣做過,它很有可能是顛覆性的。是的,如果他只在他的應用程序中這樣做,他仍然面臨安全風險。他的應用程序基本上在整個藍牙裝甲中留下了一個裂縫。任何知道如何顛覆他的應用程序的人都可以在運行它的設備上進行破解。 –

+0

謝謝,我已經更新了我的問題,整理了一些東西並獲得了一些新的:) – Miky

相關問題