一种实现Android系统下蓝牙自动回连的方法

文档序号:9251342阅读:2070来源:国知局
一种实现Android系统下蓝牙自动回连的方法
【技术领域】
[0001] 本发明属于无线通信领域,尤其涉及一种实现Android系统下蓝牙自动回连的方 法。
【背景技术】
[0002] 现有技术中,蓝牙功能已成为移动终端如智能手机的标配功能,随之与移动终端 通信的各种蓝牙设备也层出不穷,例如蓝牙Key。目前,Android系统的移动终端与蓝牙设 备的通信过程大概如下,蓝牙设备开启,用户手动操作移动终端,使得Android系统的移动 终端与已开启的蓝牙设备建立连接,当蓝牙设备关闭时,Android系统的移动终端会断开与 蓝牙设备的蓝牙连接,当蓝牙设备重新启动时,Android系统的移动终端内部的蓝牙模块不 会主动去连接该蓝牙设备,需要用户手动重新连接该蓝牙设备,这样就会增加不必要的操 作,给用户带来极差的用户体验。

【发明内容】

[0003] 为解决现有技术中的技术缺陷,本发明提出了一种实现Android系统下蓝牙自动 回连的方法。
[0004] 本发明提供的技术方案如下:
[0005] 一种实现Android系统下蓝牙自动回连的方法,包括:移动终端初始化蓝牙连接 状态为未连接,注册蓝牙监听广播,设置按钮监听事件,在蓝牙模块已开启的情形下,当移 动终端监听到按钮事件为连接蓝牙事件时依次执行步骤Al至A3或者依次执行步骤A2、步 骤Al和步骤A3 ;
[0006] 步骤Al:移动终端搜索蓝牙设备列表,获取用户选择的当前蓝牙设备的蓝牙设备 地址,并根据所述蓝牙设备地址与当前蓝牙设备完成配对;
[0007] 步骤A2 :移动终端判断蓝牙连接状态是否为已连接,是则与缓存中的蓝牙设备地 址对应的蓝牙设备断开连接,并更新蓝牙连接状态为未连接,然后执行下一步,否则直接执 行下一步;
[0008] 步骤A3 :移动终端与当前蓝牙设备建立连接,并更改蓝牙连接状态为已连接,将 当前蓝牙设备的蓝牙设备地址存入缓存,并将终端信息发送给当前蓝牙设备;
[0009] 上述步骤Al具体为创建活动窗口,在所述活动窗口中显示之前与移动终端已经 配对过的蓝牙设备列表,获取用户对所述活动窗口的触发操作,并根据所述触发操作获取 用户选择的要连接的当前蓝牙设备的名称和地址,检查当前蓝牙设备是否已与移动终端配 对,是则执行下一步,否则与当前蓝牙设备完成配对后执行下一步。
[0010] 当移动终端监听到蓝牙广播为蓝牙连接请求时依次执行步骤Bl至B3或者依次执 行步骤B2、步骤Bl和步骤B3 ;
[0011] 步骤Bl:移动终端判断蓝牙连接请求中包含的蓝牙设备地址是否与缓存中的蓝 牙设备地址匹配,是则执行下一步,否则不响应所述蓝牙连接请求;
[0012] 步骤B2 :移动终端判断蓝牙连接状态是否为未连接,是则执行下一步,否则不响 应所述蓝牙连接请求;
[0013] 步骤B3 :移动终端与所述蓝牙连接请求中包含的蓝牙设备地址对应的蓝牙设备 建立连接,并更新蓝牙连接状态为已连接。
[0014] 本发明提供的所述方法还包括当移动终端监听到蓝牙广播为断开连接请求时执 行:判断所述断开连接请求中包含的蓝牙设备地址是否与缓存中的蓝牙设备地址匹配,是 则与所述断开连接请求中包含的蓝牙设备地址对应的蓝牙设备断开连接,并更新蓝牙连接 状态为未连接,否则不响应所述断开连接请求。
[0015] 上述方法还包括,判断注册的所述蓝牙监听广播中的蓝牙广播接收对象的接收方 法是否被调用,是则调用第一预设方法并根据调用第一预设方法获得的返回值确定蓝牙广 播的类型,所述蓝牙广播的类型包括蓝牙连接请求和断开连接请求。
[0016] 上述方法还包括移动终端判断表示连接蓝牙设备按钮的按钮事件中的第二预设 方法是否被调用,是则确定监听到按钮事件为连接蓝牙事件,否则确定未监听到所述连接 蓝牙事件。
[0017] 上述方法还包括当蓝牙模块未开启时,移动终端提示开启蓝牙模块,当移动终端 监听到按钮事件为打开蓝牙事件时,开启蓝牙模块。所述开启蓝牙模块具体为:创建请求开 启蓝牙的启动事件,并通过调用预设的回调函数判断开启蓝牙模块是否成功,是则确定蓝 牙模块已开启,否则结束。
[0018] 本发明提供的方法中,所述移动终端判断蓝牙连接状态是否为已连接具体为,所 述移动终端判断蓝牙连接状态标识是否为预设值,是则确定蓝牙连接状态为已连接,否则 确定蓝牙连接状态为未连接。
[0019] 上述步骤A3和步骤B3还包括:移动终端与建立连接的当前蓝牙设备通信,待通信 结束后与当前蓝牙设备断开连接,并更新蓝牙连接状态为未连接。与当前蓝牙设备建立连 接具体包括创建蓝牙连接子线程,所述创建蓝牙连接子线程之后还包括创建蓝牙通信子线 程,所述与当前蓝牙设备断开连接具体包括注销所述蓝牙连接子线程和所述蓝牙通信子线 程。
[0020] 采用上述技术方案达到的有益效果如下:本发明提供的蓝牙自动回连的机制,减 少了蓝牙外设重新开机后需用户再次手动连接的麻烦,使设备之间的蓝牙连接操作更智 能、简单,提高了产品的易用性以及用户体验。
【附图说明】
[0021] 图1是本发明实施例1提供的当监听到蓝牙广播为蓝牙连接请求时的操作流程 图。
[0022] 图2是本发明实施例2提供的一种实现Android系统下蓝牙自动回连的方法流程 图。
【具体实施方式】
[0023] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方 式做进一步地详细描述。
[0024] 实施例I
[0025] 本实施例提供了一种实现Android系统下蓝牙自动回连的方法,该方法应用于 Android操作系统的移动终端上,本实施提供的方法包括:
[0026] 初始化操作:移动终端初始化蓝牙连接状态为未连接,注册蓝牙监听广播,设置按 钮监听事件;
[0027] 监听操作:1)判断表示打开蓝牙按钮的按钮事件中的第二预设方法是否被调用, 是则确定监听到按钮事件为打开蓝牙事件,否则确定未监听到打开蓝牙事件。
[0028] 2)判断注册的所述蓝牙监听广播中的蓝牙广播接收对象的接收方法是否被调用, 是则调用第一预设方法并根据调用第一预设方法获得的返回值确定蓝牙广播的类型,所述 蓝牙广播的类型包括蓝牙连接请求和断开连接请求。
[0029] 3)判断表示连接蓝牙设备按钮的按钮事件中的第二预设方法是否被调用,是则确 定监听到按钮事件为连接蓝牙事件,否则确定未监听到所述连接蓝牙事件。
[0030] 其他操作:
[0031] 当监听到按钮事件为打开蓝牙事件时执行:开启蓝牙模块。
[0032] 当监听到按钮事件为连接蓝牙事件时依次执行步骤Al至A3 :
[0033] 步骤Al:移动终端搜索蓝牙设备列表,获取用户选择的当前蓝牙设备的蓝牙设备 地址,并根据所述蓝牙设备地址与当前蓝牙设备完成配对;
[0034] 步骤A2 :移动终端判断蓝牙连接状态是否为已连接,是则与缓存中的蓝牙设备地 址对应的蓝牙设备断开连接,并更新蓝牙连接状态为未连接,然后执行下一步,否则直接执 行下一步;
[0035] 具体的,所述移动终端判断蓝牙连接状态是否为已连接具体为,所述移动终端判 断蓝牙连接状态标识是否为预设值,是则确定蓝牙连接状态为已连接,否则确定蓝牙连接 状态为未连接。
[0036] 步骤A3 :移动终端与当前蓝牙设备建立连接,并更改蓝牙连接状态为已连接,将 当前蓝牙设备的蓝牙设备地址存入缓存,并将终端信息发送给当前蓝牙设备;
[0037] 进一步的,上述步骤Al和步骤A2的执行先后顺序可以互换。
[0038] 当监听到蓝牙广播为蓝牙连接请求时依次执行步骤Bl至B3,如图1所示:
[0039] 步骤Bl:移动终端判断蓝牙连接请求中包含的蓝牙设备地址是否与缓存中的蓝 牙设备地址匹配,是则执行下一步,否则不响应所述蓝牙连接请求;
[0040] 步骤B2 :移动终端判断蓝牙连接状态是否为未连接,是则执行下一步,否则不响 应所述蓝牙连接请求;
[0041] 步骤B3 :移动终端与所述蓝牙连接请求中包含的蓝牙设备地址对应的蓝牙设备 建立连接,并更新蓝牙连接状态为已连接。
[0042] 进一步的,上述步骤Bl和步骤B2的执行先后顺序可以互换。
[0043] 当监听到蓝牙广播为断开连接请求时执行:判断所述断开连接请求中包含的蓝牙 设备地址是否与缓存中的蓝牙设备地址匹配,是则与所述断开连接请求中包含的蓝牙设备 地址对应的蓝牙设备断开连接,并更新蓝牙连接状态为未连接,否则不响应所述断开连接 请求。
[0044] 上述步骤A3和步骤B3之后还包括:移动终端与建立连接的当前蓝牙设备通信,待 通信结束后与当前蓝牙设备断开连接,并更新蓝牙连接状态为未连接。
[0045] 实施例2
[0046] 本发明的实施例提供了一种实现Android系统下蓝牙自动回连的方法,该方法应 用于Android操作系统的移动终端上,该方法以一个应
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1