System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及蓝牙处理,尤其涉及一种蓝牙处理方法、装置、设备、存储介质及计算机程序产品。
技术介绍
1、随着汽车影音娱乐功能的发展,蓝牙功能成为了智能座舱系统中不可或缺的一部分,智能座舱中的蓝牙音乐、电话、通讯录及游戏手柄等功能都依赖于蓝牙功能实现。目前智能座舱系统中车机设备常用的操作系统是安卓系统,从蓝牙模块来说,车机安卓系统和手机安卓系统其实是一样的,只不过手机在蓝牙连接和交互中是“主设备”,而车机属于“从设备”。
2、广大车机设备制造商和第三方软件开发商都需要在安卓系统的蓝牙架构上开发自己的车载应用,其中涉及到与蓝牙相关的功能时,就会通过原生安卓系统提供的应用程序编程接口来实现。原生安卓系统通过蓝牙应用程序包为调用方提供接口集,且根据蓝牙功能不同又分为了不同的协议,如蓝牙电话相关协议,通讯录相关协议,蓝牙音乐相关协议,音乐控制相关协议,游戏手柄设备相关协议等等,每一个协议对应一个客户端,通过这些客户端直接暴露接口给车载应用。
3、车载应用作为调用者,如果想使用某个协议的客户端提供的应用程序编程接口,首先要获取原生安卓蓝牙系统提供的适配器类,再通过这个类获取对应协议的客户端。蓝牙通信是双向的,车载应用调用应用程序编程接口下发指令实现功能,作为“主设备”的手机也需要将各种状态通知给车载应用,不同于安卓系统中普遍采用的“监听器”方式,安卓蓝牙模块较多使用“广播”的方式获得手机发来的状态。
4、但是,使用广播的方式通信会造成每个应用都需要监听多个与其相关的广播,导致很多广播被重复监听,而由于安卓系统
技术实现思路
1、为克服相关技术中存在的问题,本公开实施例提供一种蓝牙处理方法、装置、设备、存储介质及计算机程序产品,可以消除蓝牙广播排队通知的现象,减少蓝牙广播通知和接收的耗时,提升广播效率,避免系统应用程序无响应的问题。
2、本公开实施例的技术方案是这样实现的:
3、第一方面,本公开实施例提供一种蓝牙处理方法,所述方法包括:
4、在安装在车载设备上的车载应用运行的过程中,从整合至所述车载应用的蓝牙服务封装包中确定蓝牙服务,并启动所述蓝牙服务;
5、通过所述蓝牙服务封装包中的蓝牙协议监听接口,将广播监听请求发送至所述蓝牙服务,并注册目标广播;其中,所述广播监听请求用于指示所述蓝牙服务持续监听所述目标广播;
6、所述车载应用接收所述蓝牙服务返回的广播信息;其中,所述广播信息由所述蓝牙服务基于监听到的所述目标广播生成。
7、在一些实施例中,所述通过所述蓝牙服务封装包中的蓝牙协议监听接口,将广播监听请求发送至所述蓝牙服务,包括:
8、通过所述蓝牙服务封装包中的软件开发包向所述蓝牙服务发送适配器获取请求;
9、接收所述蓝牙服务基于所述适配器获取请求确定的适配器对象;
10、所述车载应用通过所述适配器对象调用所述蓝牙协议监听接口,并通过所述蓝牙协议监听接口将所述广播监听请求发送至所述蓝牙服务。
11、在一些实施例中,所述车载应用通过所述适配器对象调用所述蓝牙协议监听接口,包括:
12、所述车载应用通过所述适配器对象调用广播监听接口;
13、通过所述广播监听接口从所述软件开发包中的蓝牙协议封装函数中获取所述蓝牙协议监听接口。
14、在一些实施例中,所述方法还包括:
15、从操作系统获取与蓝牙相关的应用程序编程接口;其中,与蓝牙相关的应用程序编程接口包括:广播监听接口和蓝牙协议监听接口;
16、对与蓝牙相关的应用程序编程接口以及对应的蓝牙服务进行封装处理,得到所述蓝牙服务封装包;
17、基于所述蓝牙服务封装包,生成所述车载应用的应用安装包。
18、在一些实施例中,所述方法还包括:
19、在成功下载所述应用安装包的情况下,对所述应用安装包进行解压处理,得到所述蓝牙服务封装包;
20、在基于所述应用安装包将所述车载应用成功安装至所述车载设备的情况下,运行所述车载应用;
21、所述在安装在车载设备上的车载应用运行的过程中,从整合至所述车载应用的蓝牙服务封装包中确定蓝牙服务,包括:
22、在所述车载应用运行的过程中,对所述蓝牙服务封装包进行解压处理,确定所述蓝牙服务和所述蓝牙协议监听接口。
23、在一些实施例中,所述车载应用接收所述蓝牙服务返回的广播信息,包括:
24、在所述蓝牙服务监听到所述目标广播时,调用所述蓝牙协议监听接口传入的回调函数;
25、所述蓝牙服务基于所述回调函数的广播解析规则对所述目标广播进行解析,得到所述广播信息;
26、所述蓝牙服务将所述广播信息发送至所述车载应用。
27、在一些实施例中,不同类型的所述蓝牙协议监听接口分别对应不同的蓝牙协议。
28、第二方面,本公开实施例提供一种蓝牙处理装置,所述装置包括:
29、确定模块,在安装在车载设备上的车载应用运行的过程中,从整合至所述车载应用的蓝牙服务封装包中确定蓝牙服务,并启动所述蓝牙服务;
30、监听模块,通过所述蓝牙服务封装包中的蓝牙协议监听接口,将广播监听请求发送至所述蓝牙服务,并注册目标广播;其中,所述广播监听请求用于指示所述蓝牙服务持续监听所述目标广播;
31、接收模块,所述车载应用接收所述蓝牙服务返回的广播信息;其中,所述广播信息由所述蓝牙服务基于监听到的所述目标广播生成。
32、第三方面,本公开实施例提供一种电子设备,包括:处理器、存储器及存储在所述存储器上并在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实施如第一方面所述的蓝牙处理方法的步骤。
33、第四方面,本公开实施例提供一种存储介质,所述存储介质上存储程序或指令,所述程序或指令被执行时实施第一方面所述的蓝牙处理方法的步骤。
34、第五方面,本公开实施例提供一种计算机程序产品,包括计算机程序或者指令,其特征在于,所述计算机程序或指令被处理器执行时,实现第一方面所述的蓝牙处理方法的步骤。
35、本公开实施例提供的技术方案可以包括以下有益效果:
36、本公开实施例提出的蓝牙处理方法中,在安装在车载设备上的车载应用运行的过程中,从整合至所述车载应用的蓝牙服务封装包中确定蓝牙服务,并启动所述蓝牙服务;通过所述蓝牙服务封装包中的蓝牙协议监听接口,将广播监听请求发送至所述蓝牙服务,并注册目标广播;所述车载应用接收所述蓝牙服务返回的广播信息。
37、也就是说,在车载设备上的车载应用运行的过程中,可以通过车载应用中整合的蓝牙服务封装包实现向下监听所有蓝牙协议的广播,在监听到广播后对广播进行解析,并将解析后的广播信息返本文档来自技高网...
【技术保护点】
1.一种蓝牙处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述通过所述蓝牙服务封装包中的蓝牙协议监听接口,将广播监听请求发送至所述蓝牙服务,包括:
3.根据权利要求2所述的方法,其特征在于,所述车载应用通过所述适配器对象调用所述蓝牙协议监听接口,包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述车载应用接收所述蓝牙服务返回的广播信息,包括:
7.根据权利要求1至6任一项所述的方法,其特征在于,不同类型的所述蓝牙协议监听接口分别对应不同的蓝牙协议。
8.一种蓝牙处理装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实施如权利要求1至7任一项所述的蓝牙处理方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储程
11.一种计算机程序产品,包括计算机程序或者指令,其特征在于,所述计算机程序或指令被处理器执行时,实现权利要求1至7中任一项所述的蓝牙处理方法的步骤。
...【技术特征摘要】
1.一种蓝牙处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述通过所述蓝牙服务封装包中的蓝牙协议监听接口,将广播监听请求发送至所述蓝牙服务,包括:
3.根据权利要求2所述的方法,其特征在于,所述车载应用通过所述适配器对象调用所述蓝牙协议监听接口,包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述车载应用接收所述蓝牙服务返回的广播信息,包括:
7.根据权利要求1至6任一项所述的方法,其特征在于,不同...
【专利技术属性】
技术研发人员:黄子剑,朱志胜,政晓钰,
申请(专利权)人:东风汽车集团股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。