基于安卓系统的多网络并用方法和系统的制作方法_2

文档序号:9601017阅读:来源:国知局
Flag标志文件的值;若有,则实时监控用户空间的Flag标志文件的值。
[0037]在其中一种实施方式中,所述移动网络拨号程序,具体包括:
[0038]查询单元,用于查询硬件通讯模块以获取硬件的状态;
[0039]拨号单元,当获取的硬件状态为正常时,拨号获取当前网络的IP地址。
[0040]在其中一种实施方式中,还包括:
[0041]关闭模块,用于根据第二指令,关闭移动数据网络连接的开关,并将所述用户空间的Flag标志文件的值修改为关闭值;
[0042]终止模块,用于当所述Netlisten脚本监控到所述Flag标志文件的值为关闭值时,终止所述移动网络拨号进程。
[0043]在其中一种实施方式中,还包括:
[0044]第二启动模块,用于根据第三指令,打开WIFI网络连接的开关;和/或,第三启动模块,用于根据第四指令,打开以太网连接的开关;
[0045]第二通信模块,用于在框架层启动无线网络连接程序并建立Socket套接字以进行WLAN0网络连接,和/或第三通信模块,用于在框架层启动以太网连接程序并建立Socket套接字以进行以太网连接。
[0046]由于该自定义的移动网络拨号程序嵌入在安卓系统的Linux层中,在接收到第一指令时,打开移动数据网络连接的开关,直接运行预先安装在Linux层的移动网络拨号程序,无需经由框架层。因此,能够避开框架层的优先级判断机制。当安卓系统在使用移动数据网络连接时,启动WIFI连接方式或其它连接网络连接方式时,由于移动网络链路避开了框架层的优先级判断,因此,能够实现移动网络与其它网络连接方式并用。该方法无需修改安卓框架层代码结构,因此,该实现多网络并用的方法简单且能保证安卓系统运行的稳定性。
【附图说明】
[0047]图1为一种实施方式的基于安卓系统的多网络并用方法的流程图;
[0048]图2为一种实施方式的Netlisten脚本的工作流程图;
[0049]图3为一种实施方式的移动网络拨号程序的工作流程图;
[0050]图4为另一种实施方式的基于安卓系统的多网络并用方法的流程图;
[0051]图5为一种实施方式的移动网络与以及网或WIFI并用的流程示意图;
[0052]图6为一种实施方式的基于安卓系统的多网络并用系统的模块示意图。
【具体实施方式】
[0053]如图1所示,基于安卓系统的多网络并用方法,包括以下步骤:
[0054]S101:预先屏蔽安卓系统原生的位于RIL层的移动数据网络拨号驱动。
[0055]安卓系统原生的移动数据网络拨号驱动不支持多网络并用,为实现安卓系统的多网络并用,需屏蔽安卓系统原生的位于RIL层的移动网络拨号驱动,具体为,去掉/system/lib/1 ibrefernce-ril.so文件,该so库文件用于安卓系统的应用层对接硬件模块的驱动程序与PPPoE拨号连接的调用。
[0056]S102:在安卓系统启动时运行Netlisten脚本以监控用户空间的Flag标志文件的值。
[0057]安卓系统在启动时默认加载Service,自动运行Netlisten脚本以监控用户空间的Flag标志文件的值。在具体的实施方式中,Flag标志文件的值包括0N和OFF。当移动数据网络连接的开关为开启状态时,用户空间的Flag标志文件的值为0N,即为启动值;当移动数据网络连接的开关为关闭状态时,用户空间的Flag标志文件的值为0FF,即为关闭值。
[0058]S105:根据第一指令,打开移动数据网络连接的开关,并将用户空间的Flag标志文件的值修改为启动值。
[0059]在具体的实施方式中,第一指令可以为用户点击安卓系统的“移动数据”开启按钮,在其它的实施方式中,也可以为启动某一应用程序,该应用程序默认的网络连接方式为移动数据网络连接,例如,农业机械自动导航系统中,需要通过移动3G网络连接后台服务器获取基站数据,该导航系统设定的网络连接方式移动数据网络连接,打开该应用程序的同时,打开“移动数据”的开关。根据该第一指令,打开移动数据网络连接的开关,同时,将用户空间的Flag标志文件的值修改为启动值,启动值为0N。
[0060]S107:当Netlisten脚本监控到Flag标志文件的值为启动值时,运行预先安装在Linux层的移动网络拨号程序以获取当前网络的IP地址。
[0061]该自定义的移动网络拨号程序/etc/ppp/pppd可使用C语言进行编辑,并嵌入到安卓系统的Linux层,通过自定义的移动拨号程序完成拨号以获取当前网络的IP地址。在具体的实施方式中,拨号需用到的shell脚本可为gprs-connect-chat,chap-secrets等。
[0062]S109:将当前网络的IP地址添加到PPPoE数据连接的路由表中。
[0063]在移动网络拨号程序连接成功后,将获取的当前网络的IP地址添加到pppO数据连接的路由表中。
[0064]S111:根据路由表在应用层建立Socket套接字以进行移动网络连接。
[0065]根据路由表,在应用层建立Socket套接字以进行移动网络连接,通过移动数据网络与应用程序的后台服务器建立TCP或UDP数据连接并进行数据通信。
[0066]由于该自定义的移动网络拨号程序嵌入在安卓系统的Linux层中,在接收到第一指令时,打开移动数据网络连接的开关,直接运行预先安装在Linux层的移动网络拨号程序,无需经由框架层。因此,能够避开框架层的优先级判断机制。当安卓系统在使用移动数据网络连接时,启动WIFI连接方式或其它连接网络连接方式时,由于移动网络链路避开了框架层的优先级判断,因此,能够实现移动网络与其它网络连接方式并用。该方法无需修改安卓框架层代码结构,因此,该实现多网络并用的方法简单且能保证安卓系统运行的稳定性。
[0067]在另一种实施方式中,步骤S103具体包括:
[0068]S1031:在安卓系统启动时运行Netlisten脚本以检测用户空间是否有Flag标志文件。
[0069]若无,则执行步骤S1032:创建Flag标志文件,将Flag标志文件的值设置为关闭值并实时监控Flag标志文件的值。
[0070]若有,则执行步骤S1033:实时监控用户空间的Flag标志文件的值。
[0071]当Netlisten脚本监控到Flag标志文件的值为启动值时,步骤S107具体包括:
[0072]S1071:运行预先安装在Linux层的移动网络拨号程序查询硬件通讯模块以获取硬件的状态。
[0073]S1073:当获取的硬件状态为正常时,拨号获取当前网络的IP地址。
[0074]在另一种实施方式中,在步骤S111之后,还包括:
[0075]S113:根据第二指令,关闭移动数据网络连接的开关,并将用户空间的Flag标志文件的值修改为关闭值。
[0076]在具体的实施方式中,第二指令可以为用户点击安卓系统的“移动数据”关闭按钮,在其它的实施方式中,也可以为关闭某一应用程序,该应用程序默认的网络连接方式为移动数据网络连接,例如,农业机械自动导航系统中,需要通过移动3G网络连接后台服务器获取基站数据,该导航系统设定的网络连接方式移动数据网络连接,关闭该应用程序的同时,关闭“移动数据”的开关。根据该第二指令,关闭移动数据网络连接的开关,同时,将用户空间的Flag标志文件的值修改为关闭值,关闭值为OFF。
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1