安卓智能设备快速连接蓝牙的方法与流程

文档序号:12068923阅读:1156来源:国知局

本发明涉及安卓智能设备技术,特别涉及安卓智能设备连接蓝牙的技术。



背景技术:

在安卓系统的智能设备中,传统的安卓系统的蓝牙协议栈只有在安卓系统完全启动之后才能正常使用,目前大多数电视厂商等智能设备的生产厂商都已经实现在安卓系统并未完全启动时即可呈现画面,而此时如蓝牙遥控器等蓝牙控制设备并不能正常使用,此外recovery系统下蓝牙遥控器也无法正常使用。



技术实现要素:

本发明的目的是要解决目前安卓系统并未完全启动或recovery系统下蓝牙控制设备不可用的问题,提供了一种安卓智能设备快速连接蓝牙的方法。

本发明解决其技术问题,采用的技术方案是,安卓智能设备快速连接蓝牙的方法,其特征在于,包括以下步骤:

步骤1、更改安卓智能设备的init.rc文件,为其增加一个native蓝牙服务程序,令init进程解析rc文件时启动native蓝牙服务程序;

步骤2、native蓝牙服务程序启动后,获取bluedroid句柄,调用函数完成蓝牙协议栈的初始化并开启蓝牙功能;

步骤3、native蓝牙服务程序创建与原蓝牙服务程序通讯的binder,并改造原蓝牙服务程序,将其由调用bluedroid改为与native蓝牙服务程序之间通讯;

步骤4、若蓝牙控制设备有按键输入,则由蓝牙协议栈完成自动回连,创建对应的input节点;

步骤5、当蓝牙控制设备再次有按键输入时,蓝牙协议栈将按键输入数据写入对应的input节点;

步骤6、安卓系统上层应用使用并调用蓝牙相关接口时,原蓝牙服务程序与native蓝牙服务程序采用binder通讯,传递函数调用关系及参数。

具体的,步骤1中,所述安卓智能设备为安卓系统的智能电视或安卓系统的智能移动终端。

进一步的,所述安卓系统的智能移动终端为安卓系统的智能手机或安卓系统的平板电脑。

具体的,步骤2中,所述调用函数完成蓝牙协议栈的初始化中,所调用的函数为init函数和enable函数。

再进一步的,步骤5中,所述蓝牙协议栈将按键输入数据写入对应的input节点的方法为:蓝牙协议栈将按键输入数据发送到uhid,由kernel将按键输入数据写入对应的input节点。

具体的,步骤6中,所述原蓝牙服务程序与native蓝牙服务程序采用binder通讯时,蓝牙协议栈的回调函数也由native蓝牙服务程序经binder传递到原蓝牙服务程序。

再进一步的,步骤5中,所述蓝牙控制设备为蓝牙遥控器。

本发明的有益效果是,在本发明方案中,通过上述安卓智能设备快速连接蓝牙的方法,可在安卓系统未完全启动或recovery系统下使用蓝牙控制设备,增强用户体验,方便用户。

具体实施方式

下面结合实施例,详细描述本发明的技术方案。

本发明所述安卓智能设备快速连接蓝牙的方法为:首先更改安卓智能设备的init.rc文件,为其增加一个native蓝牙服务程序,令init进程解析rc文件时启动native蓝牙服务程序,在native蓝牙服务程序启动后,获取bluedroid句柄,调用函数完成蓝牙协议栈的初始化并开启蓝牙功能,然后native蓝牙服务程序创建与原蓝牙服务程序通讯的binder,并改造原蓝牙服务程序,将其由调用bluedroid改为与native蓝牙服务程序之间通讯,若蓝牙控制设备有按键输入,则由蓝牙协议栈完成自动回连,创建对应的input节点,当蓝牙控制设备再次有按键输入时,蓝牙协议栈将按键输入数据写入对应的input节点,安卓系统上层应用使用并调用蓝牙相关接口时,原蓝牙服务程序与native蓝牙服务程序采用binder通讯,传递函数调用关系及参数。

实施例

本发明实施例的安卓智能设备快速连接蓝牙的方法,其包括以下步骤:

步骤1、更改安卓智能设备的init.rc文件,为其增加一个native蓝牙服务程序,令init进程解析rc文件时启动native蓝牙服务程序。

步骤2、native蓝牙服务程序启动后,获取bluedroid句柄,调用函数完成蓝牙协议栈的初始化并开启蓝牙功能。

本步骤的调用函数完成蓝牙协议栈的初始化中,所调用的函数可以为init函数和enable函数。

步骤3、native蓝牙服务程序创建与原蓝牙服务程序通讯的binder,并改造原蓝牙服务程序,将其由调用bluedroid改为与native蓝牙服务程序之间通讯。

步骤4、若蓝牙控制设备有按键输入,则由蓝牙协议栈完成自动回连,创建对应的input节点。

步骤5、当蓝牙控制设备再次有按键输入时,蓝牙协议栈将按键输入数据写入对应的input节点。

本步骤中,蓝牙协议栈将按键输入数据写入对应的input节点的方法可以为:蓝牙协议栈将按键输入数据发送到uhid,由kernel将按键输入数据写入对应的input节点。

步骤6、安卓系统上层应用使用并调用蓝牙相关接口时,原蓝牙服务程序与native蓝牙服务程序采用binder通讯,传递函数调用关系及参数。

本步骤中,原蓝牙服务程序与native蓝牙服务程序采用binder通讯时,蓝牙协议栈的回调函数也由native蓝牙服务程序经binder传递到原蓝牙服务程序。

本例中,安卓智能设备为安卓系统的智能电视或安卓系统的智能移动终端等,安卓系统的智能移动终端如安卓系统的智能手机或安卓系统的平板电脑等,而蓝牙控制设备可以为蓝牙遥控器等。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1