WindowsPhone8蓝牙编程开发

【菜科解读】
蓝牙是手机的近距离无限传输的技术,在之前的Windows Phone 7系统手机里面仅支持蓝牙耳机功能,并不支持蓝牙文件信息传输,那么在Windows Phone 8手机里面将全面支持蓝牙技术,并且提供了相关的API来给开发者使用。
开发者可以利用蓝牙的相关API来创建应用程序,在应用程序里面使用手机的蓝牙技术来进行近距离的文件传输和发送接收消息,创造出更加有趣和方便的应用软件。
在Windows Phone 8里面可以在应用程序里面利用蓝牙进行通信,使用蓝牙相关的API,可以让应用程序连接到另外的一个应用程序,也可以让应用程序连接到一个设备上。
Windows Phone 8的蓝牙技术支持两个蓝牙方案:一个是应用程序到应用程序的通信,另外一个是应用程序到设备的通信。
1.应用程序到应用程序的通信应用程序到应用程序的通信的过程是,应用程序使用蓝牙去查找正在广播蓝牙服务的对等的应用程序,如果在应用程序提供服务的范围内发现一个应用程序,那么该应用程序可以发起连接请求。
当这两个应用程序接受连接,它们之间就可以进行通信了,通信的过程是使用socket的消息发送接收机制。
在Windows Phone 8中使用到应用程序到应用程序的蓝牙通讯技术,需要在项目的WMAppManifest.xml文件中添加ID_CAP_PROXIMITY的功能选项,表示支持临近的设备通信能力,否则程序会出现异常。
2.应用程序到设备的通信在应用程序到设备的通信过程时,应用程序使用蓝牙去查找提供服务的设备,如果提供的服务范围之内发现一个可以连接的蓝牙设备,那么该应用程序可以发起连接请求。
当应用程序和设备同时接受该连接,它们之间就可以进行通信了,通信的过程也是使用socket的消息发送接收机制,类似于应用程序到应用程序的通信。
在Windows Phone 8中使用到应用程序到设备的蓝牙通讯技术,需要在项目的WMAppManifest.xml文件中添加ID_CAP_PROXIMITY和ID_CAP_NETWORKING的功能选项,表示支持临近的设备通信能力和网络通信能力,否则程序会出现异常。
蓝牙编程类在Windows Phone 8里面使用到蓝牙编程主要会用到PeerFinder类,PeerInformation类,StreamSocket类和ConnectionRequestedEventArgs类,这些类的说明如表19.1所示。
因为蓝牙也是基于TCP协议进行消息传递了,所以需要用到Socket的相关的编程知识,以及StreamSocket类。
PeerFinder类是蓝牙查找类,它的主要成员如表19.2所示。
表19.1 蓝牙编程类的说明
类名说明PeerFinder用于去查找附近的设备是否有运行和当前应用程序相同的应用程序,并且可以在两个应用程序之间建立起socket连接,从而可以进行通信。对等应用程序是在其他设备上运行的应用程序的另一个实例。
PeerInformation包含对等应用程序或设备的识别信息。
StreamSocket支持使用一个TCP的Socket流的网络通信。
ConnectionRequestedEventArgs表示传递到一个应用程序的ConnectionRequested事件的属性
表 19.2 PeerFinder类的成员
成员说明bool AllowBluetooth指定 PeerFinder 类的此实例是否可以通过使用 Bluetooth 来连接 ProximityStreamSocket 对象。如果PeerFinder 的此实例可以通过使用 Bluetooth 来连接 ProximityStreamSocket 对象,则为 true;否则为false。
默认为 true。
bool AllowInfrastructure是否使用TCP/IP协议连接到StreamSocketbool AllowWiFiDirect指定 PeerFinder 类的此实例是否可以通过使用 Wi-Fi Direct 来连接 ProximityStreamSocket 对象。
如果 PeerFinder 的此实例可以通过使用 Wi-Fi Direct 来连接 ProximityStreamSocket 对象,则为 true;否则为false。
默认为 true。
IDictionary AlternateIdentities获取要与其他平台上的对等应用程序匹配的备用 AppId 值列表。
返回要与其他平台的对等类应用程序匹配的备用 AppId 值列表。
string DisplayName获取或设置标识计算机到远程对等类的名称。
PeerDiscoveryTypes SupportedDiscoveryTypes获取一个值,该值指示哪些发现选项可与 PeerFinder 类一同使用event TypedEventHandler ConnectionRequested远程对等类使用 ConnectAsync 方法请求连接时发生。
event TypedEventHandler TriggeredConnectionStateChanged在远程对等类的轻击笔势期间发生。
IAsyncOperation ConnectAsync(PeerInformation peerInformation)连接已发现了对 FindAllPeersAsync 方法的调用的对等类。
peerInformation:表示连接到的对等类的对等类信息对象。
返回通过使用所提供的临近StreamSocket 对象连接远程对等类的异步操作。
IAsyncOperation FindAllPeersAsync()适用于无线范围内运行相同应用程序的对等计算机的异步浏览。
返回通过使用 Wi-Fi直连技术浏览对等类的异步操作。
void Start(string peerMessage)向临近设备上的对等类应用程序传递消息。
void Stop()停止查找对等类应用程序或广播对等类连接的过程
查找蓝牙设备和对等项
查找在服务范围内的蓝牙设备和对等项是蓝牙编程的第一步,查找蓝牙设备和对等项中会使用到PeerFinder类的FindAllPeersAsync方法去进行查找,然后以异步的方式返回查找到的对等项列表的信息IReadOnlyList
,注意要使查找对等的应用程序时,在调用FindAllPeersAsync方法前必须先调用PeerFinder类的Start方法,主要的目的是启动广播服务,让对方的应用程序也能查找到自己。
PeerInformation包含三个属性:一个是DisplayName表示对等项的名字,这个名字一般都是由对方的设备的名称或者查找到的应用程序自身设置的现实名字,一个是HostName表示主机名字或者IP地址,还有一个属性是ServiceName表示服务名称或者TCP协议的端口号。
然后可以利用查找到的PeerInformation信息进行连接和通信。
查找对等的应用程序的代码示例:
async void AppToApp() // 启动查找服务 PeerFinder.Start(); //开始查找 ObservableCollectionpeers = await PeerFinder.FindAllPeersAsync(); if (peers.Count == 0) //未找到任何的对等项 else //处理查找到的对等项,可以使用PeerFinder类的ConnectAsync方法来连接选择的要进行通信的对等项}
查找蓝牙设备的代码示例:
private async void AppToDevice() // 设置查找所匹配的蓝牙设备 PeerFinder.AlternateIdentities["Bluetooth:Paired"] = ""; // 开始查找 ObservableCollectionpairedDevices = await PeerFinder.FindAllPeersAsync(); if (pairedDevices.Count == 0) // 没有找到可用的蓝牙设备 else //处理查找到的蓝牙设备,可以新建一个StreamSocket对象,然后使用StreamSocket类的ConnectAsync方法通过HostName和ServiceName来连接蓝牙设备}123在本页阅读全文 本文导航 第1页: 首页 第2页: 蓝牙发送接收信息 第3页: 实现蓝牙程序对设备的连接 WindowsPhone8,蓝牙,编程,开发,蓝牙,是,手机
Win8系统蓝牙鼠标无法连接提示输入码无效如何办
软件支持 在线重装、U盘制作、自定义重装 等多种模式。
现在,很多用户都很喜欢使用蓝牙听歌或者使用蓝牙鼠标,不过,有些用户在Win8中连接蓝牙鼠标时出现 输入码无效,请再试一次 ,具体故障如下图所示。
其实,出现该问题主要是由于蓝牙赖以使用的服务运行不正常所至。
那么,如何解决这问题呢?现在,小编就来和大家分享此问题的处理方法。
解决方法如下: 1、在Win8系统桌面下:按win+R,在运行框中输入services.msc,按回车键; 2、在服务列表中找到Bluetooth选项,双击该服务,在启动类型中选择 自动 然后点击应用,并启动服务后确定; 3、在操作过程中请按住底部的蓝牙按钮,电脑输入配对码等待连接的时候请一直按住鼠标底部的蓝牙按钮,然后尝试是否能够连接上。
要是是内置的蓝牙收发器,提议你先屏蔽内置的蓝牙接收器,找一个别的USB蓝牙接收器测试一下,看下是不是内置蓝牙收发器问题;或者删除原来的旧版本的蓝牙驱动或别的光学驱动组件,重新安装一下内置接收器的驱动程序。
其他参考方法: 1、运用排除法,把您的鼠标与别人的笔记本接上看一看,要是工作正常,那就是内置蓝牙驱动或者硬件的问题了。
2、重新增加蓝牙设备方法:按下 Windows > 输入 控制面板 > 从搜索结果中选择 控制面板 > 选择 添加设备与打印机 。
Win8系统中连接蓝牙鼠标出现 输入码无效,请再试一次 问题的解决方法就介绍到这,如果大家还有其他疑问或者想了解更多有关系统问题欢迎关注菜科网官网。
注意:本站所刊载的文章均为学习交流之用,请勿用于商业用途。
对于商业使用,请联系各自版权所有者,否则法律问题自行承担。
Win7系统升级指南:全面解析升级步骤与要点 Win7系统损坏修复教程:详细步骤助你快速解决问题 Win8系统蓝牙鼠标无法连接提示输入码无效怎么办 分类于: 回答于:2016-01-26 现在,很多用户都很喜欢使用蓝牙听歌或者使用蓝牙鼠标,不过,有些用户在Win8中连接蓝牙鼠标时出现 输入码无效,请再试一次 ,具体故障如下图所示。
其实,出现该问题主要是由于蓝牙赖以使用的服务运行不正常所至。
那么,如何解决这问题呢?现在,小编就来和大家分享此问题的处理方法。
解决方法如下: 1、在Win8系统桌面下:按win+R,在运行框中输入services.msc,按回车键; 2、在服务列表中找到Bluetooth选项,双击该服务,在启动类型中选择 自动 然后点击应用,并启动服务后确定; 3、在操作过程中请按住底部的蓝牙按钮,电脑输入配对码等待连接的时候请一直按住鼠标底部的蓝牙按钮,然后尝试是否能够连接上。
要是是内置的蓝牙收发器,提议你先屏蔽内置的蓝牙接收器,找一个别的USB蓝牙接收器测试一下,看下是不是内置蓝牙收发器问题;或者删除原来的旧版本的蓝牙驱动或别的光学驱动组件,重新安装一下内置接收器的驱动程序。
其他参考方法: 1、运用排除法,把您的鼠标与别人的笔记本接上看一看,要是工作正常,那就是内置蓝牙驱动或者硬件的问题了。
2、重新增加蓝牙设备方法:按下 Windows > 输入 控制面板 > 从搜索结果中选择 控制面板 > 选择 添加设备与打印机 。
Win8系统中连接蓝牙鼠标出现 输入码无效,请再试一次 问题的解决方法就介绍到这,如果大家还有其他疑问或者想了解更多有关系统问题欢迎关注菜科网官网。
菜科网系统致力于解决 Windows 系统重装解决方案,提供高效、安全、免费的系统重装服务。
手把手教你电脑蓝牙如何连接耳机的方法
软件支持 在线重装、U盘制作、自定义重装 等多种模式。
电脑蓝牙怎么连接耳机呢?在win10系统的电脑上已经有蓝牙功能可以直接连接耳机了。
那么电脑蓝牙怎么连接耳机呢?考虑到很多朋友还不清楚电脑蓝牙连接耳机的方法,接下来小编为大家带来电脑蓝牙连接耳机的方法。
感兴趣的小伙伴们快来看看吧!1、电脑开机,进入桌面,选择系统设置;2、在Win10系统设置界面中,选择“设备”;3、进入设备界面后,选择“蓝牙和其他设备”;4、在弹出来的“添加设备”界面,选择添加“蓝牙”;5、把无线蓝牙耳机开机,电脑系统搜索后,选择到对应耳机设备名称直接连接即可。
以上就是小编为大家带来的电脑蓝牙怎么连接耳机的详细教程,希望对大家有所帮助! 标签: 注意:本站所刊载的文章均为学习交流之用,请勿用于商业用途。
对于商业使用,请联系各自版权所有者,否则法律问题自行承担。
Win7系统升级指南:全面解析升级步骤与要点 Win7系统损坏修复教程:详细步骤助你快速解决问题 手把手教你电脑蓝牙怎么连接耳机的方法 分类于: 回答于:2021-09-03 电脑蓝牙怎么连接耳机呢?在win10系统的电脑上已经有蓝牙功能可以直接连接耳机了。
那么电脑蓝牙怎么连接耳机呢?考虑到很多朋友还不清楚电脑蓝牙连接耳机的方法,接下来小编为大家带来电脑蓝牙连接耳机的方法。
感兴趣的小伙伴们快来看看吧!1、电脑开机,进入桌面,选择系统设置;2、在Win10系统设置界面中,选择“设备”;3、进入设备界面后,选择“蓝牙和其他设备”;4、在弹出来的“添加设备”界面,选择添加“蓝牙”;5、把无线蓝牙耳机开机,电脑系统搜索后,选择到对应耳机设备名称直接连接即可。
以上就是小编为大家带来的电脑蓝牙怎么连接耳机的详细教程,希望对大家有所帮助! 菜科网系统致力于解决 Windows 系统重装解决方案,提供高效、安全、免费的系统重装服务。