接收远程蓝牙设备信息
文章信息
- 详细描述
应用程序可以接收远程蓝牙设备的特定蓝牙信息。这个信息可以用来,例如过滤特定设备或设备类型以便节省搜索设备的时间。
当蓝牙开启后,手机便提供它的类型或设备/服务属性以便其他设备能在设备搜索过程中接收到这些信息。这些属性指明了主副设备类型(如手机和智能手机等),和一般服务类型(如网络,对象交换,和音频等),注意这是公共服务的高级类型,也是蓝牙资料和服务的一个概念,可以被应用程序确保兼容性(能多相信信息请看Archived:Discovering Bluetooth services using Symbian C++)
- 解决方案
在设备搜索时,每个远程设备的socket地址TInquirySockAddr和TBTDeviceClass(定义在btdevice.h)都可以得以构造。
TBTDeviceClass在MajorServiceClass, MajorDeviceClass, and MinorDeviceClass获有信息,可以通过如下方式获取:
// Issue request
iHostResolver.GetByAddress( iInquirySockAddr, iEntry, iStatus );
SetActive();<br>
//Receive result in RunL()
if( iStatus == KErrNone)
{
TInquirySockAddr& sa = TInquirySockAddr::Cast( iEntry().iAddr );
TBTDeviceClass tmpDeviceClass( sa.MajorServiceClass(),
sa.MajorClassOfDevice(), sa.MinorClassOfDevice());
}
注意没有直接的蓝牙API可以用来获得其他设备的指定信息如串号或手机号码等。你必须有一个程序运行在远程手机端,才能询问到这些信息。


(no comments yet)