CN117062039A - 一种蓝牙连接方法、电子设备和计算机可读存储介质 - Google Patents
一种蓝牙连接方法、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN117062039A CN117062039A CN202311327761.3A CN202311327761A CN117062039A CN 117062039 A CN117062039 A CN 117062039A CN 202311327761 A CN202311327761 A CN 202311327761A CN 117062039 A CN117062039 A CN 117062039A
- Authority
- CN
- China
- Prior art keywords
- bluetooth
- electronic device
- target electronic
- address
- equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 230000015654 memory Effects 0.000 claims description 34
- 230000004044 response Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 abstract description 22
- 230000001976 improved effect Effects 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 22
- 238000007726 management method Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 238000010295 mobile communication Methods 0.000 description 12
- 230000005236 sound signal Effects 0.000 description 12
- 210000004027 cell Anatomy 0.000 description 11
- 210000000988 bone and bone Anatomy 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000003416 augmentation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 230000003750 conditioning effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 210000001072 colon Anatomy 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000002138 osteoinductive effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/11—Allocation or use of connection identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/14—Direct-mode setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/005—Discovery of network devices, e.g. terminals
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了一种蓝牙连接方法、电子设备和计算机可读存储介质,涉及短距离无线通信技术领域。该方法包括:电子设备响应于连接蓝牙的操作,确定与电子设备蓝牙连接的目标电子设备;基于目标电子设备的设备地址查询目标电子设备的设备地址类型;设备地址是电子设备在网络中的网络标识;若基于目标电子设备的设备地址未查询到目标电子设备的设备地址类型,将目标电子设备的设备信息添加至白名单;其中,设备信息包括目标电子设备的设备地址、第一地址类型和第二地址类型;基于目标电子设备的设备信息与扫描到的目标电子设备的蓝牙设备信息匹配,与目标电子设备建立蓝牙连接。这样,提高了电子设备蓝牙连接的成功率,提升用户的蓝牙连接体验。
Description
技术领域
本申请实施例涉及短距离无线通信技术领域,尤其涉及一种蓝牙连接方法、电子设备和计算机可读存储介质。
背景技术
蓝牙(Bluetooth)是电子设备之间常用的数据传输方式,它可以实现电子设备(例如,手机、笔记本电脑、掌上电脑、无线耳机、智能音箱、智能手表,等等)之间的短距离无线传输数据,具有方便快捷、灵活安全的优点。
为建立两个电子设备(例如电子设备1和电子设备2)之间的蓝牙连接,在一种实现方案中,电子设备1会先查询缓存的设备信息中是否有电子设备2的设备地址对应的设备地址类型,若查找不到,则将电子设备2的设备地址类型设置为默认地址类型,然后将电子设备2的设备地址和对应的默认地址类型与扫描到的周围设备的设备地址和设备地址类型进行匹配,若前者的设备地址和设备地址类型与后者的设备地址和设备地址类型相同,则两个电子设备会建立蓝牙连接。
但是,由于默认地址类型可能不是电子设备2的设备地址对应的真实地址类型,存在电子设备2的设备地址和对应的默认地址类型与扫描到的周围设备的设备地址和设备地址类型不匹配,两个电子设备之间蓝牙连接失败的问题发生,进而导致用户的蓝牙连接体验较差。
发明内容
本申请实施例提供一种蓝牙连接方法、电子设备和计算机可读存储介质,用于解决两个电子设备之间蓝牙连接失败导致用户的蓝牙连接体验较差的问题。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供了一种蓝牙连接方法,该方法应用于电子设备,包括:响应于连接蓝牙的操作,基于目标电子设备的设备地址查询目标电子设备的设备地址类型;其中,电子设备保存有与电子设备蓝牙连接的目标电子设备的设备地址,连接蓝牙的操作用于触发电子设备与目标电子设备进行蓝牙连接,设备地址是电子设备在网络中的网络标识;若基于目标电子设备的设备地址未查询到目标电子设备的设备地址类型,将目标电子设备的设备信息添加至白名单;其中,设备信息包括目标电子设备的设备地址、第一地址类型和第二地址类型;基于目标电子设备的设备信息与扫描到的目标电子设备的蓝牙设备信息匹配,与目标电子设备建立蓝牙连接。
本申请中,电子设备查询缓存的设备信息中没有目标电子设备的设备地址对应的设备地址类型,即在电子设备基于目标电子设备的设备地址查找不到对应的设备地址类型的情况下,将目标电子设备的设备地址类型设置为标准协议中的所有类型。这样,将目标电子设备的设备地址对应的标准协议中的所有类型与扫描到的周围设备的设备地址对应的设备地址类型进行匹配,必然存在前者多种设备地址类型与后者一种设备地址类型相同的情形。如此,两个电子设备的设备地址类型匹配后,两个电子设备之间便可以建立蓝牙连接。提高了电子设备蓝牙连接的成功率,提升用户的蓝牙连接体验。
在第一方面的一种可能的实现方式中,响应于连接蓝牙的操作,包括:响应于用户将目标数据下载至目标电子设备的操作。
本申请中,与目标电子设备进行蓝牙连接的触发操作的场景可以是短距离将数据从电子设备传输至目标电子设备。使用本申请的蓝牙连接方法可以提高该场景下的蓝牙连接成功率,提升用户体验。
在第一方面的一种可能的实现方式中,目标数据为游戏数据,目标电子设备为游戏手柄。
在第一方面的一种可能的实现方式中,第一地址类型为public,第二地址类型为random。
在第一方面的一种可能的实现方式中,响应于连接蓝牙的操作之前,该方法还包括:响应于与目标电子设备的第一次连接蓝牙的操作;在扫描到电子设备的情况下,显示扫描到的电子设备;根据用户的选择确定目标电子设备,缓存目标电子设备的设备地址。
在第一方面的一种可能的实现方式中,电子设备包括蓝牙协议栈和蓝牙芯片驱动;
将目标电子设备的设备信息添加至白名单,包括:蓝牙协议栈将目标电子设备的设备信息添加至蓝牙芯片驱动的白名单。
在第一方面的一种可能的实现方式中,设备信息包括第一设备信息和第二设备信息,第一设备信息包括目标电子设备的设备地址和第一地址类型,第二设备信息包括目标电子设备的设备地址和第二地址类型。
在第一方面的一种可能的实现方式中,蓝牙协议栈将目标电子设备的设备信息添加至蓝牙芯片驱动的白名单,包括:蓝牙协议栈将第一设备信息添加至蓝牙芯片驱动的白名单,蓝牙协议栈将第二设备信息添加至蓝牙芯片驱动的白名单。
在第一方面的一种可能的实现方式中,电子设备还包括第三方应用和蓝牙管理器,蓝牙协议栈将目标电子设备的设备信息添加至蓝牙芯片驱动的白名单之前,该方法还包括:第三方应用通过蓝牙管理器和蓝牙协议栈向蓝牙芯片驱动发送蓝牙信号扫描指令,蓝牙芯片驱动驱动电子设备接收蓝牙广播,蓝牙广播包括设备地址和设备地址类型,以及第三方应用通过蓝牙管理器向蓝牙协议栈发送蓝牙连接请求;其中蓝牙连接请求中携带目标电子设备的设备地址;
基于目标电子设备的设备信息与扫描到的目标电子设备的蓝牙设备信息匹配,与目标电子设备建立蓝牙连接,包括:蓝牙芯片驱动驱动电子设备基于目标电子设备信息的设备信息与扫描到的目标电子设备的设备信息匹配,与目标电子设备建立蓝牙连接。
第二方面,提供了一种电子设备,该电子设备包括处理器和存储器;存储器用于存储代码指令;处理器用于运行代码指令,以执行如第一方面中任一种可能的设计方式中的音频信号的调节方法。
第三方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行如第一方面中任一种可能的设计方式中的音频信号的调节方法。
第四方面,提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现第一方面中任一种可能的设计方式中的方法。
其中,第二方面、第三方面和第四方面中任一种设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。
附图说明
图1示出了一种电子设备的软件结构框图;
图2示出了一种在第三方应用非首次响应于与目标电子设备蓝牙连接的触发操作下,蓝牙连接方法的流程示意图;
图3示出了一种手机100的结构示意图;
图4示出了一种在第三方应用非首次响应于与目标电子设备蓝牙连接的触发操作下,蓝牙连接方法的流程示意图;
图5示出了一种蓝牙连接的场景示意图;
图6示出了一种游戏小程序的界面变化示意图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请以下各实施例中,“至少一个”、“一个或多个”是指一个或两个以上(包含两个)。术语“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。术语“连接”包括直接连接和间接连接,除非另外说明。“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
在本申请实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
如前文背景技术中所述,由于默认地址类型可能不是电子设备2的设备地址对应的真实地址类型,存在电子设备2的设备地址和对应的默认地址类型与扫描到的周围设备的设备地址和设备地址类型不匹配,两个电子设备之间蓝牙连接失败的问题发生。
为了更具体地说明两个电子设备之间蓝牙连接失败的问题产生的原因,下面结合电子设备中的软件架构详细介绍电子设备的蓝牙设备扫描原理和蓝牙设备连接原理。
图1示出了一种电子设备的软件结构框图。分层架构可将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,Android系统至少可以包括四层,从上至下分别为应用程序层(简称应用层),应用程序框架层(简称框架层),本地层以及驱动层。
如图1所示,应用层可以包括应用1等多个应用程序包,应用1中至少包括第三方应用。框架层至少包含蓝牙管理器等。本地层至少包含蓝牙协议栈。驱动层至少包含蓝牙芯片驱动。
电子设备1在第三方应用首次响应于与电子设备2蓝牙连接的触发操作下,会先执行蓝牙设备扫描流程,再执行蓝牙设备连接流程。具体的,蓝牙设备扫描流程为:第三方应用会依次通过蓝牙管理器和蓝牙协议栈向蓝牙芯片驱动发送蓝牙信号扫描指令。这样,蓝牙芯片驱动在接收到蓝牙信号扫描指令的情况下,会驱动电子设备1扫描周围已开启蓝牙功能的电子设备。在电子设备1扫描到电子设备的时候,会显示扫描到的电子设备,之后,根据用户的选择确定目标电子设备(例如电子设备2),例如,响应于用户对目标电子设备的选中操作,确定目标电子设备。然后,电子设备1执行蓝牙设备连接流程:与目标电子设备建立蓝牙连接。
可以理解,在上述该过程中,目标电子设备的设备地址是由上层应用保存的,目标电子设备的设备地址类型是在蓝牙协议栈中临时缓存的,不对上层应用开放。
在第三方应用非首次响应于与电子设备2蓝牙连接的触发操作下,由于具有首次连接保存的目标电子设备的设备地址,可以基于保存的目标电子设备的设备地址自动进行连接目标电子设备的操作,即第三方应用连接时也不关注设备地址类型,第三方应用只需要知道目标电子设备的设备地址就能发起连接请求。具体的,电子设备1会同步执行蓝牙设备扫描流程和蓝牙设备连接流程:在第三方应用依次通过蓝牙管理器和蓝牙协议栈向蓝牙芯片驱动发送蓝牙信号扫描指令的同时,第三方应用会通过蓝牙管理器向蓝牙协议栈发送蓝牙连接请求。蓝牙协议栈会基于接收到的蓝牙连接请求中的电子设备2的设备地址,查询是否有电子设备2的设备地址的设备地址类型,若未查到,则默认设备地址类型为公共(public),并将蓝牙设备信息添加至蓝牙芯片驱动中的白名单里。这样,蓝牙芯片驱动便会驱动电子设备1与扫描到电子设备2的设备地址和查询到的设备地址类型匹配,由于默认地址类型可能不是电子设备2的设备地址对应的真实地址类型,存在电子设备2的设备地址和对应的默认地址类型与扫描到的周围设备的设备地址和设备地址类型不匹配,两个电子设备之间蓝牙连接失败的问题发生。
结合图1的软件结构,图2示出了一种在第三方应用非首次响应于与目标电子设备(例如电子设备2)蓝牙连接的触发操作下,蓝牙连接方法的流程示意图。如图2所示,该流程包括如下步骤:
结合图1的软件结构,图2示出了一种在第三方应用非首次响应于与电子设备2蓝牙连接的触发操作下,蓝牙连接方法的流程示意图。如图2所示,该流程包括如下步骤:
步骤201:响应于连接蓝牙的操作,第三方应用通过蓝牙管理器和蓝牙协议栈向蓝牙芯片驱动发送蓝牙信号扫描指令。
可以理解,第三方应用通过蓝牙管理器和蓝牙协议栈向蓝牙芯片驱动发送蓝牙信号扫描指令,蓝牙芯片驱动便驱动电子设备1扫描周围电子设备广播的蓝牙信号,并接收周围电子设备广播的蓝牙信号,以得到目标电子设备的设备信息,如步骤207。
步骤202:第三方应用通过蓝牙管理器向蓝牙协议栈发送蓝牙连接请求。
第三方应用响应于连接蓝牙的操作,触发进行蓝牙连接后,生成蓝牙连接请求。由于蓝牙连接请求中携带目标电子设备的设备地址,可以使得电子设备1与目标电子设备进行连接的流程步骤,如步骤203至步骤209。
可以理解,在第三方应用非首次响应于与电子设备2蓝牙连接的触发操作下,会自动进行连接目标电子设备的操作。具体的,电子设备1会同步执行蓝牙设备扫描流程和蓝牙设备连接流程,即同步执行步骤201和步骤202。
步骤203:蓝牙协议栈基于蓝牙连接请求中携带的目标电子设备的设备地址查询设备地址类型,若没有查到,默认公共(public)。
第三方应用通过蓝牙管理器向蓝牙芯片驱动发送蓝牙连接请求,即第三方应用调用蓝牙接口发起蓝牙连接请求后,给蓝牙芯片驱动发送蓝牙连接请求时需要携带地址类型参数。于是,蓝牙协议栈需要查询设备地址类型。
可以理解,设备地址类型是在第三方应用每次发起蓝牙扫描时,通过蓝牙扫描到周边的广播信息后缓存在蓝牙协议栈内的,因不是持久性的配对信息,不会永久性保存,电子设备重启蓝牙会清空蓝牙协议栈内存储的设备地址类型,于是存在蓝牙协议栈内查找不到设备地址类型的问题。而且,由于蓝牙设备扫描流程和蓝牙设备连接流程是同步执行的,在蓝牙芯片驱动驱动电子设备1扫描周围电子设备广播的蓝牙信号,并未得到目标电子设备的设备信息的情况下,蓝牙芯片驱动便无目标电子设备的设备信息可以发送给蓝牙协议栈,蓝牙协议栈便获取不到目标电子设备的设备信息。而此时,蓝牙设备连接流程已经进行,蓝牙协议栈会基于蓝牙连接请求中携带的目标电子设备的设备地址查询设备地址类型。但是由于蓝牙协议栈未得到目标电子设备的设备地址类型,便只能将目标电子设备的设备地址类型默认设置为公共(public)。
步骤204:蓝牙协议栈将目标电子设备的设备信息添加至蓝牙芯片驱动的白名单。
蓝牙协议栈将目标电子设备的设备信息添加至蓝牙芯片驱动的白名单,用于指示蓝牙芯片驱动基于白名单中的目标电子设备的设备信息与目标电子设备完成蓝牙连接。
步骤205:蓝牙芯片驱动向蓝牙协议栈反馈添加成功的消息。
步骤206:蓝牙协议栈向蓝牙芯片驱动发送蓝牙连接请求。
蓝牙芯片驱动向蓝牙协议栈反馈添加成功的消息之后,触发蓝牙协议栈向蓝牙芯片驱动发送蓝牙连接请求。蓝牙连接请求用于触发蓝牙芯片驱动基于白名单中的目标电子设备的设备信息与目标电子设备完成蓝牙连接。
步骤207:蓝牙芯片驱动接收蓝牙设备广播,得到目标电子设备的设备信息,其中,设备信息包括设备地址和设备地址类型为随机(random)。
蓝牙芯片驱动接收蓝牙设备广播,得到目标电子设备的设备信息,将目标电子设备的设备信息存储至蓝牙协议栈,如步骤210至步骤211。
步骤208:蓝牙芯片驱动与扫描到的目标电子设备的设备信息不匹配,连接失败。
步骤209:蓝牙芯片驱动通过蓝牙协议栈和蓝牙管理器向第三方应用发送连接失败的消息。
步骤210:蓝牙协议栈接收广播的设备信息。
步骤211:蓝牙协议栈保存设备地址类型。
步骤212:蓝牙协议栈控制蓝牙芯片驱动删除白名单中的目标电子设备的设备信息。
如前述步骤207,由于默认地址类型不是目标电子设备(例如电子设备2)的设备地址对应的真实地址类型,存在电子设备2的设备地址和对应的默认地址类型与扫描到的周围设备的设备地址和设备地址类型不匹配,两个电子设备之间蓝牙连接失败的问题发生。即常规技术中,蓝牙协议栈(Host)中处理蓝牙连接时,未查询到对端设备地址类型,针对对端设备地址类型使用了默认值公共(public)类型,添加到蓝牙芯片驱动白名单,蓝牙芯片驱动用白名单匹配收到的外设广播,因外设广播中对端设备地址实际类型是随机(random)类型,和白名单匹配不上,从而无法与对端设备建立蓝牙连接,连接失败。
为了解决背景技术中两个电子设备之间蓝牙连接失败的问题,本申请实施例提供一种蓝牙连接方法。
可以理解,两个电子设备之间蓝牙连接失败是由于默认地址类型不是电子设备2的设备地址对应的真实地址类型,电子设备2的默认地址类型与扫描到的周围设备的设备地址类型不匹配导致的。需要说明的是,设备地址的类型是标准协议中的所有类型中的一种。在电子设备1基于电子设备2的设备地址,从缓存的设备信息中查找不到对应的设备地址类型的情况下,可以将电子设备2的设备地址类型设置为标准协议中的所有类型。这样,将电子设备2的设备地址对应的标准协议中的所有类型与扫描到的周围设备的设备地址对应的设备地址类型进行匹配,必然存在前者多种设备地址类型与后者一种设备地址类型相同的情形。如此,两个电子设备的设备地址类型匹配后,两个电子设备之间便可以建立蓝牙连接。即本申请实施例提供了一种三方应用缓存了蓝牙设备地址后,没有扫描直接发起连接蓝牙设备时,因没有蓝牙设备真实地址类型也能建立连接的解决方法。
本申请实施例中,电子设备1查询缓存的设备信息中没有电子设备2的设备地址对应的设备地址类型,即在电子设备1基于电子设备2的设备地址查找不到对应的设备地址类型的情况下,将电子设备2的设备地址类型设置为标准协议中的所有类型。这样,将电子设备2的设备地址对应的标准协议中的所有类型与扫描到的周围设备的设备地址对应的设备地址类型进行匹配,必然存在前者多种设备地址类型与后者一种设备地址类型相同的情形。如此,两个电子设备的设备地址类型匹配后,两个电子设备之间便可以建立蓝牙连接。即本申请实施例提出一种蓝牙连接场景中,没有对端设备真实地址类型时,也能和对端设备建立蓝牙连接的方法。
示例性的,本申请实施例中的电子设备可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备等包括触摸屏的设备,本申请实施例对该电子设备的具体形态不作特殊限制。
图3示出了一种手机100的结构示意图。如图3所示,手机100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对手机100的具体限定。在本申请另一些实施例中,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是手机100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对手机100的结构限定。在本申请另一些实施例中,手机100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过手机100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为手机100供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
手机100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。手机100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在手机100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在手机100上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,手机100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得手机100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC ,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system ,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
手机100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,手机100可以包括1个或N个显示屏194,N为大于1的正整数。
手机100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP 用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,手机100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当手机100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。手机100可以支持一种或多种视频编解码器。这样,手机100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network ,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现手机100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行手机100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储手机100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
手机100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。手机100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当手机100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。手机100可以设置至少一个麦克风170C。在另一些实施例中,手机100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,手机100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动手机100平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。手机100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,手机100根据压力传感器180A检测所述触摸操作强度。手机100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定手机100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定手机100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测手机100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消手机100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
磁传感器180D包括霍尔传感器。手机100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当手机100是翻盖机时,手机100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测手机100在各个方向上(一般为三轴)加速度的大小。当手机100静止时可检测出重力的大小及方向。还可以用于识别手机100姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。手机100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,手机100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。手机100通过发光二极管向外发射红外光。手机100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定手机100附近有物体。当检测到不充分的反射光时,手机100可以确定手机100附近没有物体。手机100可以利用接近光传感器180G检测用户手持手机100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。手机100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测手机100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。手机100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,手机100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,手机100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,手机100对电池142加热,以避免低温导致手机100异常关机。在其他一些实施例中,当温度低于又一阈值时,手机100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于手机100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。手机100可以接收按键输入,产生与手机100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和手机100的接触和分离。手机100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。手机100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,手机100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在手机100中,不能和手机100分离。
结合图1的软件结构,图4示出了一种在第三方应用非首次响应于与目标电子设备(例如电子设备2)蓝牙连接的触发操作下,蓝牙连接方法的流程示意图。如图4所示,该流程包括如下步骤:
步骤401:第三方应用响应于连接蓝牙的操作,第三方应用通过蓝牙管理器和蓝牙协议栈向蓝牙芯片驱动发送蓝牙信号扫描指令。
可以理解,第三方应用通过蓝牙管理器和蓝牙协议栈向蓝牙芯片驱动发送蓝牙信号扫描指令,蓝牙芯片驱动便驱动电子设备1扫描周围电子设备广播的蓝牙信号,并接收周围电子设备广播的蓝牙信号,以得到目标电子设备的设备信息,如步骤409。
图5示出了一种蓝牙连接的场景示意图。如图5所示,该场景中交互的设备包括手机100和游戏手柄200。为了将手机100中的游戏数据传输至游戏手柄200中,可以使手机100和游戏手柄200先建立蓝牙连接,然后,手机100便可以基于蓝牙的短距离通信技术将手机100中的游戏数据传输至游戏手柄200中。在此过程中,可以执行本申请的蓝牙连接方法。在该场景下,第三方应用响应于连接蓝牙的操作可以是响应于用户将目标数据下载至目标电子设备的操作,用户将目标数据下载至目标电子设备的操作可以触发手机100与目标电子设备建立蓝牙连接,以进行目标数据的传输的操作。
下面以第三方应用是小程序为例,说明用户将目标数据下载至目标电子设备的操作。图6示出了一种游戏小程序的界面变化示意图。如图6中的(a)图所示,手机100在手机100的界面601响应于用户打开社交软件A的操作,如图6中的(b)图所示,显示社交软件主界面602。手机100响应于用户在社交软件主界面602从顶部往下拉的操作,如图6中的(c)图所示,显示小程序界面603,其中,小程序界面603包括多个小程序。手机100响应于用户在小程序界面603打开小程序1的操作,如图6中的(d)图所示,显示游戏小程序界面604。游戏小程序界面604至少包括游戏1模块、游戏2模块和游戏3模块。手机100响应于用户在游戏小程序界面604打开游戏1模块的操作,如图6中的(e)图所示,显示游戏1模块细化界面605。游戏1模块细化界面605包括游戏1-1模块、游戏1-2模块、游戏1-3模块和游戏1-4模块。手机100响应于用户在游戏1模块细化界面605打开游戏1-1模块的操作,如图6中的(f)图所示,显示游戏1-1模块细化界面606。游戏1-1模块细化界面606包括游戏1-1模块下载按钮6061。手机100获取用户点击游戏1-1模块下载按钮6061的操作,以确定检测到连接蓝牙的操作。
本申请实施例中,与目标电子设备进行蓝牙连接的触发操作的场景可以是短距离将数据从电子设备传输至目标电子设备。使用本申请的蓝牙连接方法可以提高该场景下的蓝牙连接成功率,提升用户体验。
本申请实施例中,蓝牙可以是低功耗蓝牙(Bluetooth Low Energy ,BLE),属于蓝牙技术中的一种。
步骤402:第三方应用通过蓝牙管理器向蓝牙协议栈发送蓝牙连接请求。
第三方应用响应于连接蓝牙的操作,触发进行蓝牙连接后,生成蓝牙连接请求。由于蓝牙连接请求中携带目标电子设备的设备地址,可以使得电子设备1与目标电子设备进行连接的流程步骤,如步骤403至步骤409。
可以理解,在第三方应用非首次响应于与电子设备2蓝牙连接的触发操作下,由于具有首次连接保存的目标设备的设备地址,手机100可以基于保存的目标设备的设备地址自动进行连接目标电子设备的操作。具体的,电子设备1会同步执行蓝牙设备扫描流程和蓝牙设备连接流程,即同步执行步骤401和步骤402。
步骤403:蓝牙协议栈基于蓝牙连接请求中携带的目标电子设备的设备地址查询设备地址类型,若没有查到,标记未知(unknown)。
可以理解,本申请中的设备地址可以是指媒体存取控制位址(Media AccessControl Address, MAC地址),也称为局域网地址(LAN Address),MAC位址,以太网地址(Ethernet Address)或物理地址(Physical Address)。它是一个用来确认网络设备位置的位址。网络中每台设备都有一个唯一的网络标识,这个地址叫MAC地址或网卡地址,由网络设备制造商生产时写在硬件内部。MAC地址则是48位的(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如08:00:20:0A:8C:6D就是一个MAC地址。
第三方应用通过蓝牙管理器向蓝牙芯片驱动发送蓝牙连接请求,即第三方应用调用蓝牙接口发起蓝牙连接请求后,给蓝牙芯片驱动发送蓝牙连接请求时需要携带地址类型参数。于是,蓝牙协议栈需要查询设备地址类型。
可以理解,设备地址类型是在第三方应用每次发起蓝牙扫描时,通过蓝牙扫描到周边的广播信息后缓存在蓝牙协议栈内的,因不是持久性的配对信息,不会永久性保存,电子设备重启蓝牙会清空蓝牙协议栈内存储的设备地址类型,于是存在在蓝牙协议栈内查找不到设备地址类型的问题。而且,由于蓝牙设备扫描流程和蓝牙设备连接流程是同步执行的,在蓝牙芯片驱动驱动电子设备1扫描周围电子设备广播的蓝牙信号,并未得到目标电子设备的设备信息的情况下,蓝牙芯片驱动便无目标电子设备的设备信息可以发送给蓝牙协议栈,蓝牙协议栈便获取不到目标电子设备的设备信息。而此时,蓝牙设备连接流程已经进行,蓝牙协议栈会基于蓝牙连接请求中携带的目标电子设备的设备地址查询设备地址类型。但是由于蓝牙协议栈未得到目标电子设备的设备地址类型,便只能将目标电子设备的设备地址类型默认设置为真实情况为未知。
步骤404:蓝牙协议栈将目标电子设备的设备信息1添加至蓝牙芯片驱动的白名单,设备地址类型为public。
蓝牙协议栈将目标电子设备的设备信息添加至蓝牙芯片驱动的白名单,用于指示蓝牙芯片驱动基于白名单中的目标电子设备的设备信息与目标电子设备完成蓝牙连接。
可以理解,电子设备的设备地址可以分为两种:第一地址类型(例如publicaddress)和第二地址类型(例如random address),但不限于此,后续随着通信技术的发展,还可以存在其他设备类型。
蓝牙连接采用白名单机制,白名单(White List)是一组存储在芯片中的具有蓝牙连接功能的电子设备的地址列表,每项由对端设备地址和地址类型组成。蓝牙协议栈控制添加/移除白名单设备,蓝牙协议栈控制蓝牙芯片驱动启动连接后,基于白名单中的设备地址和设备地址类型匹配收到的周围电子设备的广播中的设备地址和设备地址类型,若前者的设备地址和设备地址类型与后者的设备地址和设备地址类型同时匹配后,与对应的电子设备建立蓝牙连接。
可以理解,目标电子设备的设备信息1也可以叫做第一设备信息,但不限于此。
步骤405:蓝牙芯片驱动向蓝牙协议栈反馈添加成功的消息。
步骤406:蓝牙协议栈将目标电子设备的设备信息2添加至蓝牙芯片驱动的白名单,设备地址类型为随机(random)。
蓝牙协议栈将目标电子设备的设备信息添加至蓝牙芯片驱动的白名单,用于指示蓝牙芯片驱动基于白名单中的目标电子设备的设备信息与目标电子设备完成蓝牙连接。
可以理解,设备地址类型包括random和public。电子设备1扫描到的目标电子设备的设备地址类型可以是random和public中的任意一种。为了将电子设备1与电子设备1扫描到的目标电子设备的任意一种设备地址类型匹配,蓝牙协议栈可以将目标电子设备的设备地址标记为所有类型:random和public。即本申请实施例中,蓝牙协议栈在蓝牙连接时,未查询到设备地址类型时,则同时添加 public和random这两种设备地址类型,保证蓝牙芯片驱动能匹配到外设广播建立连接。
可以理解,目标电子设备的设备信息2也可以叫做第二设备信息,但不限于此。
步骤404和步骤406可以单独执行,或同时执行(即也可以通知添加所有设备类型)。
具体的,若步骤404和步骤406同时执行(即也可以通知添加所有设备类型),蓝牙协议栈可以将目标电子设备的设备信息添加至白名单;其中,设备信息包括目标电子设备的设备地址、第一地址类型和第二地址类型。这样,蓝牙芯片驱动可以基于目标电子设备的设备信息与扫描到的目标电子设备的蓝牙设备信息匹配,与目标电子设备建立蓝牙连接。
若步骤404和步骤406单独执行,蓝牙协议栈可以将目标电子设备的设备信息1和目标电子设备的设备信息2添加至白名单。其中, 目标电子设备的设备信息1包括目标电子设备的设备地址和第一地址类型,目标电子设备的设备信息2包括目标电子设备的设备地址和第二地址类型。这样,蓝牙芯片驱动可以基于目标电子设备的设备信息1或目标电子设备的设备信息2与扫描到的目标电子设备的蓝牙设备信息匹配,与目标电子设备建立蓝牙连接。
步骤407:蓝牙芯片驱动向蓝牙协议栈反馈添加成功的消息。
步骤408:蓝牙协议栈向蓝牙芯片驱动发送蓝牙连接请求。
蓝牙芯片驱动向蓝牙协议栈反馈添加成功的消息之后,触发蓝牙协议栈向蓝牙芯片驱动发送蓝牙连接请求。蓝牙连接请求用于触发蓝牙芯片驱动基于白名单中的目标电子设备的设备信息与目标电子设备完成蓝牙连接。
步骤409:蓝牙芯片驱动接收蓝牙设备广播,得到目标电子设备的设备信息,其中,设备信息包括设备地址和设备地址类型为随机(random)。
可以理解,蓝牙芯片驱动在接收到蓝牙信号扫描指令的情况下,会驱动电子设备1扫描周围已开启蓝牙功能的电子设备,驱动接收蓝牙设备广播,得到目标电子设备的设备信息,将目标电子设备的设备信息存储至蓝牙协议栈,如步骤413。
蓝牙芯片驱动在接收到蓝牙信号扫描指令的情况下,会驱动电子设备1扫描周围已开启蓝牙功能的电子设备,直至蓝牙连接成功或者蓝牙关闭,蓝牙芯片驱动会停止驱动电子设备1扫描周围已开启蓝牙功能的电子设备。
步骤410:蓝牙芯片驱动将白名单中的目标电子设备的设备信息1或目标电子设备的设备信息2,与扫描到的目标电子设备的设备信息匹配,与目标电子设备建立蓝牙连接。
可以理解,蓝牙芯片驱动可以将白名单中的目标电子设备的设备信息1或目标电子设备的设备信息2,与扫描到的目标电子设备的蓝牙设备信息匹配,即判断目标电子设备的设备信息1和目标电子设备的设备信息2中的设备地址和设备地址类型是否与扫描到的目标电子设备的蓝牙设备信息中的设备地址和设备地址类型是否相同。
若目标电子设备的设备信息1或目标电子设备的设备信息2中的设备地址和设备地址类型与扫描到的目标电子设备的蓝牙设备信息中的设备地址和设备地址类型相同,则确定白名单中的目标电子设备的设备信息与扫描到的目标电子设备的蓝牙设备信息匹配成功,进而与目标电子设备建立蓝牙连接。
步骤411:蓝牙芯片驱动通过蓝牙协议栈和蓝牙管理器向第三方应用发送连接成功的消息。
可以理解,蓝牙协议栈接收蓝牙芯片驱动广播的设备信息,可以保存设备地址类型,且只要不关闭蓝牙,蓝牙协议栈就一直缓存扫描到的设备信息。
步骤412:蓝牙协议栈控制蓝牙芯片驱动删除白名单中的目标电子设备的设备信息。
可以理解,若是蓝牙芯片驱动中一直存在目标电子设备的设备信息,蓝牙芯片驱动便会一直驱动电子设备1与目标电子设备进行蓝牙连接。因此,为了避免蓝牙芯片驱动频繁驱动电子设备1与目标电子设备进行蓝牙连接,在电子设备1与目标电子设备蓝牙连接成功、电子设备1与目标电子设备蓝牙连接失败、或预设时长(例如30s)内,电子设备1与目标电子设备蓝牙连接未成功,蓝牙协议栈可以控制蓝牙芯片驱动删除白名单中的目标电子设备的设备信息。
如此,两个电子设备的设备地址类型匹配后,两个电子设备之间便可以建立蓝牙连接。即本申请实施例提出一种蓝牙连接场景中,没有对端设备真实地址类型时,也能和对端设备建立蓝牙连接的方法,提升用户的蓝牙连接体验。
本申请实施例还提供一种计算机可读存储介质,该计算机存储介质包括计算机指令,当所述计算机指令在上述移动终端上运行时,使得该移动终端执行上述方法实施例中手机100执行的各个功能或者步骤。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述方法实施例中手机100执行的各个功能或者步骤。该计算机可以是上述移动终端(如手机100)。
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(Digital Signal Processor,DSP)、微控制器、专用集成电路(Application Specific Integrated Circuit,ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读存储介质分发。因此,机器可读存储介质可以包括用于以机器(例如,计算机)可读的形式存储或传播信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、可擦除可编程只读存储器(Erasable ProgrammableRead Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,EEPROM)、磁卡或光卡、闪存、或用于基于因特网以电、光、声或其他形式的传播信号来传播信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读存储介质包括适合于以机器(例如计算机)可读的形式存储或传播电子指令或信息的任何类型的机器可读存储介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
可以理解,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
可以理解,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。
Claims (11)
1.一种蓝牙连接方法,其特征在于,所述方法应用于电子设备,包括:
响应于连接蓝牙的操作,基于目标电子设备的设备地址查询所述目标电子设备的设备地址类型;其中,所述电子设备保存有与所述电子设备蓝牙连接的目标电子设备的设备地址,所述连接蓝牙的操作用于触发所述电子设备与所述目标电子设备进行蓝牙连接,所述设备地址是电子设备在网络中的网络标识;
若基于所述目标电子设备的设备地址未查询到所述目标电子设备的设备地址类型,将所述目标电子设备的设备信息添加至白名单;其中,所述设备信息包括所述目标电子设备的设备地址、第一地址类型和第二地址类型;
基于所述目标电子设备的设备信息与扫描到的所述目标电子设备的蓝牙设备信息匹配,与所述目标电子设备建立蓝牙连接。
2.根据权利要求1所述的方法,其特征在于,所述响应于连接蓝牙的操作,包括:
响应于用户将目标数据下载至目标电子设备的操作。
3.根据权利要求2所述的方法,其特征在于,所述目标数据为游戏数据,所述目标电子设备为游戏手柄。
4.根据权利要求1所述的方法,其特征在于,所述第一地址类型为public,所述第二地址类型为random。
5.根据权利要求1所述的方法,其特征在于,所述响应于连接蓝牙的操作之前,所述方法还包括:
响应于与所述目标电子设备的第一次连接蓝牙的操作;
在扫描到电子设备的情况下,显示扫描到的电子设备;
根据用户的选择确定所述目标电子设备,缓存所述目标电子设备的设备地址。
6.根据权利要求1所述的方法,其特征在于,所述电子设备包括蓝牙协议栈和蓝牙芯片驱动;
所述将所述目标电子设备的设备信息添加至白名单,包括:
所述蓝牙协议栈将所述目标电子设备的设备信息添加至所述蓝牙芯片驱动的白名单。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述设备信息包括第一设备信息和第二设备信息,所述第一设备信息包括所述目标电子设备的设备地址和第一地址类型,所述第二设备信息包括所述目标电子设备的设备地址和第二地址类型。
8.根据权利要求6所述的方法,其特征在于,所述蓝牙协议栈将所述目标电子设备的设备信息添加至所述蓝牙芯片驱动的白名单,包括:
所述蓝牙协议栈将所述第一设备信息添加至所述蓝牙芯片驱动的白名单,所述蓝牙协议栈将所述第二设备信息添加至所述蓝牙芯片驱动的白名单。
9.根据权利要求6所述的方法,其特征在于,所述电子设备还包括第三方应用和蓝牙管理器,所述蓝牙协议栈将所述目标电子设备的设备信息添加至所述蓝牙芯片驱动的白名单之前,所述方法还包括:
所述第三方应用通过所述蓝牙管理器和所述蓝牙协议栈向所述蓝牙芯片驱动发送蓝牙信号扫描指令,所述蓝牙芯片驱动驱动所述电子设备接收蓝牙广播,所述蓝牙广播包括设备地址和设备地址类型,以及所述第三方应用通过所述蓝牙管理器向所述蓝牙协议栈发送蓝牙连接请求;其中所述蓝牙连接请求中携带所述目标电子设备的设备地址;
所述基于所述目标电子设备的设备信息与扫描到的所述目标电子设备的蓝牙设备信息匹配,与所述目标电子设备建立蓝牙连接,包括:
所述蓝牙芯片驱动驱动所述电子设备基于所述目标电子设备信息的设备信息与扫描到的所述目标电子设备的设备信息匹配,与所述目标电子设备建立蓝牙连接。
10.一种电子设备,其特征在于,包括处理器和存储器;所述存储器用于存储代码指令;所述处理器用于运行所述代码指令,使得所述电子设备执行如权利要求1-9中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311327761.3A CN117062039B (zh) | 2023-10-13 | 2023-10-13 | 一种蓝牙连接方法、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311327761.3A CN117062039B (zh) | 2023-10-13 | 2023-10-13 | 一种蓝牙连接方法、电子设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117062039A true CN117062039A (zh) | 2023-11-14 |
CN117062039B CN117062039B (zh) | 2024-03-08 |
Family
ID=88664959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311327761.3A Active CN117062039B (zh) | 2023-10-13 | 2023-10-13 | 一种蓝牙连接方法、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117062039B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104469658A (zh) * | 2014-11-10 | 2015-03-25 | 福建联迪商用设备有限公司 | 一种提高pos机与移动终端蓝牙兼容性的方法及装置 |
US20170303326A1 (en) * | 2014-09-02 | 2017-10-19 | Lg Electronics Inc. | Method and device for controlling device by using bluetooth low energy (le) technology |
WO2018088952A1 (en) * | 2016-11-14 | 2018-05-17 | Telefonaktiebolaget Lm Ericsson (Publ) | First node, second node and methods for filtering messages in a bluetooth mesh network |
CN111602344A (zh) * | 2018-08-01 | 2020-08-28 | 华为技术有限公司 | 一种蓝牙通信的方法及双模蓝牙终端 |
CN112636901A (zh) * | 2020-12-17 | 2021-04-09 | 拉扎斯网络科技(上海)有限公司 | 身份识别方法、装置、存储介质和电子设备 |
-
2023
- 2023-10-13 CN CN202311327761.3A patent/CN117062039B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170303326A1 (en) * | 2014-09-02 | 2017-10-19 | Lg Electronics Inc. | Method and device for controlling device by using bluetooth low energy (le) technology |
CN104469658A (zh) * | 2014-11-10 | 2015-03-25 | 福建联迪商用设备有限公司 | 一种提高pos机与移动终端蓝牙兼容性的方法及装置 |
WO2018088952A1 (en) * | 2016-11-14 | 2018-05-17 | Telefonaktiebolaget Lm Ericsson (Publ) | First node, second node and methods for filtering messages in a bluetooth mesh network |
CN111602344A (zh) * | 2018-08-01 | 2020-08-28 | 华为技术有限公司 | 一种蓝牙通信的方法及双模蓝牙终端 |
CN112636901A (zh) * | 2020-12-17 | 2021-04-09 | 拉扎斯网络科技(上海)有限公司 | 身份识别方法、装置、存储介质和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN117062039B (zh) | 2024-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115209195B (zh) | 一种通过遥控器实现一碰投屏的终端设备、方法以及系统 | |
CN112449328B (zh) | 一种蓝牙搜索方法、系统及相关装置 | |
CN112289313A (zh) | 一种语音控制方法、电子设备及系统 | |
CN112771900B (zh) | 一种数据传输方法及电子设备 | |
CN110730114B (zh) | 一种网络配置信息的配置方法及设备 | |
CN115396964A (zh) | 一种网络切换方法及电子设备 | |
CN114125130B (zh) | 控制通信服务状态的方法、终端设备和可读存储介质 | |
CN114490174B (zh) | 文件系统检测方法、电子设备及计算机可读存储介质 | |
CN117014859A (zh) | 基于通讯录的设备发现方法、音视频通信方法及电子设备 | |
CN113973398B (zh) | 无线网络连接方法、电子设备及芯片系统 | |
CN112469011A (zh) | 一种蓝牙配对方法及相关装置 | |
CN114880251B (zh) | 存储单元的访问方法、访问装置和终端设备 | |
CN114610193A (zh) | 内容共享方法、电子设备及存储介质 | |
CN112738794B (zh) | 驻网方法、芯片、移动终端及存储介质 | |
CN116133165A (zh) | 耳机连接系统、方法、耳机、电子设备及可读存储介质 | |
CN114554012B (zh) | 来电接听方法、电子设备及存储介质 | |
CN114915747B (zh) | 视频通话的方法、电子设备及可读存储介质 | |
CN117062039B (zh) | 一种蓝牙连接方法、电子设备和计算机可读存储介质 | |
CN115248693A (zh) | 一种应用的管理方法和电子设备 | |
CN114339698A (zh) | 设备间触碰建立无线连接的方法、电子设备及芯片 | |
CN114765768A (zh) | 一种网络选择方法及设备 | |
CN113867520A (zh) | 设备控制方法、电子设备和计算机可读存储介质 | |
CN116346982B (zh) | 处理音频的方法、电子设备及可读存储介质 | |
CN114520870B (zh) | 一种显示方法及终端 | |
CN114500725B (zh) | 目标内容传输方法、主设备、从设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |