2012-04-16 63 views
1

我正在開發一款黑莓手機應用程序,並且在我的應用程序中使用了用於使用藍牙的javax.bluetooth api。我想知道是否有可能獲得有關遠程設備的信息。我能夠獲取遠程藍牙設備的名稱和地址,但我也想知道設備的類型。我想知道遠程設備是手機還是PC。黑莓OS 5中可以確定嗎?
我正在使用以下代碼來獲取遠程設備的名稱和地址。在黑莓藍牙中獲取有關遠程設備的信息

System.out.println((i + 1) + ". " 
           + remoteDevice.getBluetoothAddress() + " (" 
           + remoteDevice.getFriendlyName(true) + ")"); 

在此先感謝

回答

1

我想出瞭如何獲取設備的類型。設備類型可以通過使用Device Class找到。在Discovery AgentdeviceDiscovered()方法中,我們得到了Remote Device以及Device class。我們可以使用設備類的getMajorDeviceClass()方法來獲取設備的類型。
主要設備類別的類型在此link中給出。

0

看來,你應該使用DiscoveryAgent.searchServices()方法來獲取這樣的信息:

公衆詮釋searchServices(INT [] attrSet, UUID [] uuidSet, 遠端設備btDev, DiscoveryListener監聽器) 引發BluetoothStateException

看看javad oc更多信息:http://www.blackberry.com/developers/docs/5.0.0api/javax/bluetooth/DiscoveryAgent.html

+0

我應該搜索哪些服務?我的意思是應該給attrSet?據我看到這將不會給我的設備類型。我很想知道該設備是手機還是PC。 – Antrromet 2012-04-16 11:21:10

+0

我有一個黑莓OS 6設備,我做了我的測試。當我搜索藍牙設備時,它會立即給出我的藍牙設備及其類型列表。然後逐漸開始建立這個名字,因爲這個過程需要很長時間黑莓OS 6中有一些功能嗎? – Antrromet 2012-04-16 11:23:11