Windows Phone 8 蓝牙编程.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:6 大小:79KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

Windows Phone 8 蓝牙编程.doc

WindowsPhone8蓝牙编程.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

本文由麦可网http://www.microoh.com/course收集整理,转载请注明出处。WindowsPhone8蓝牙编程蓝牙是手机的近距离无限传输的技术,在之前的WindowsPhone7系统手机里面仅支持蓝牙耳机功能,并不支持蓝牙文件信息传输,那么在WindowsPhone8手机里面将全面支持蓝牙技术,并且提供了相关的API来给开发者使用。开发者可以利用蓝牙的相关API来创建应用程序,在应用程序里面使用手机的蓝牙技术来进行近距离的文件传输和发送接收消息,创造出更加有趣和方便的应用软件。在WindowsPhone8里面可以在应用程序里面利用蓝牙进行通信,使用蓝牙相关的API,可以让应用程序连接到另外的一个应用程序,也可以让应用程序连接到一个设备上。WindowsPhone8的蓝牙技术支持两个蓝牙方案:一个是应用程序到应用程序的通信,另外一个是应用程序到设备的通信。1.应用程序到应用程序的通信应用程序到应用程序的通信的过程是,应用程序使用蓝牙去查找正在广播蓝牙服务的对等的应用程序,如果在应用程序提供服务的范围内发现一个应用程序,那么该应用程序可以发起连接请求。当这两个应用程序接受连接,它们之间就可以进行通信了,通信的过程是使用socket的消息发送接收机制。在WindowsPhone8中使用到应用程序到应用程序的蓝牙通讯技术,需要在项目的WMAppManifest.xml文件中添加ID_CAP_PROXIMITY的功能选项,表示支持临近的设备通信能力,否则程序会出现异常。2.应用程序到设备的通信在应用程序到设备的通信过程时,应用程序使用蓝牙去查找提供服务的设备,如果提供的服务范围之内发现一个可以连接的蓝牙设备,那么该应用程序可以发起连接请求。当应用程序和设备同时接受该连接,它们之间就可以进行通信了,通信的过程也是使用socket的消息发送接收机制,类似于应用程序到应用程序的通信。在WindowsPhone8中使用到应用程序到设备的蓝牙通讯技术,需要在项目的WMAppManifest.xml文件中添加ID_CAP_PROXIMITY和ID_CAP_NETWORKING的功能选项,表示支持临近的设备通信能力和网络通信能力,否则程序会出现异常。蓝牙编程类在WindowsPhone8里面使用到蓝牙编程主要会用到PeerFinder类,PeerInformation类,StreamSocket类和ConnectionRequestedEventArgs类,这些类的说明如表19.1所示。因为蓝牙也是基于TCP协议进行消息传递了,所以需要用到Socket的相关的编程知识,以及StreamSocket类。PeerFinder类是蓝牙查找类,它的主要成员如表19.2所示。表19.1蓝牙编程类的说明类名说明PeerFinder用于去查找附近的设备是否有运行和当前应用程序相同的应用程序,并且可以在两个应用程序之间建立起socket连接,从而可以进行通信。对等应用程序是在其他设备上运行的应用程序的另一个实例。PeerInformation包含对等应用程序或设备的识别信息。StreamSocket支持使用一个TCP的Socket流的网络通信。ConnectionRequestedEventArgs表示传递到一个应用程序的ConnectionRequested事件的属性表19.2PeerFinder类的成员成员说明boolAllowBluetooth指定PeerFinder类的此实例是否可以通过使用Bluetooth来连接ProximityStreamSocket对象。如果PeerFinder的此实例可以通过使用Bluetooth来连接ProximityStreamSocket对象,则为true;否则为false。默认为true。boolAllowInfrastructure是否使用TCP/IP协议连接到StreamSocketboolAllowWiFiDirect指定PeerFinder类的此实例是否可以通过使用Wi-FiDirect来连接ProximityStreamSocket对象。如果PeerFinder的此实例可以通过使用Wi-FiDirect来连接ProximityStreamSocket对象,则为true;否则为false。默认为true。IDictionary<string,string>AlternateIdentities获取要与其他平台上的对等应用程序匹配的备用AppId值列表。返回要与其他平台的对等类应用程序匹配的备用AppId值列表。stringDisplayName获取或设置标识计算机到远程对等类的名称。PeerDiscoveryTypesSupportedDiscoveryTypes获取一个