2012-04-16 61 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