CN105263177B - 一种无物理输入Android设备WiFi联网方法和装置 - Google Patents
一种无物理输入Android设备WiFi联网方法和装置 Download PDFInfo
- Publication number
- CN105263177B CN105263177B CN201510563840.3A CN201510563840A CN105263177B CN 105263177 B CN105263177 B CN 105263177B CN 201510563840 A CN201510563840 A CN 201510563840A CN 105263177 B CN105263177 B CN 105263177B
- Authority
- CN
- China
- Prior art keywords
- service routine
- native service
- control program
- facility control
- wifi
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/16—Discovering, processing access restriction or access information
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种无物理输入Android设备WiFi联网方法和装置,方法包括步骤:无物理输入设备启动,开辟第一进程,运行设备控制程序,开辟第二进程,运行Native服务程序,设备控制程序调用Native服务程序,启动联网过程;Native服务程序进行WiFi联网初始化后通知设备控制程序,设备控制程序通知辅助配置手持设备发送上网账号和密码信息;Native服务程序开辟第三进程,运行监听解析程序,监听解析程序解析辅助配置手持设备以及AP的广播包后,将解析得到的上网账号和密码以及局域网识别信息写入配置文件;Native服务程序调用Android系统网卡驱动程序,根据配置文件进行WiFi联网,联网成功后通知设备控制程序。
Description
技术领域
本发明涉及Android系统技术领域,具体涉及一种无物理输入Android设备WiFi联网方法和装置。
背景技术
由于物联网的需求,需要设备在没有物理输入或者显示的硬件基础上实现联网。目前WiFi设备生产商已经提出了相关的广播解析协议,让网卡进入监听模式,再由手机端发送加密的SSID、PSK广播,网卡按照协议去解析监听到的内容。这套技术在很多平台上已经使用,如单片机系统、uCos、Linux等。现有技术虽然提供了无物理输入的情况下WiFi联网的技术,但是存在模组、应用协议的差异,而且被配置端Android系统没有支持这一类型应用的服务。
发明内容
本发明要解决的技术问题在于,针对现有技术的不足,提供一种无物理输入Android设备WiFi联网方法和装置,克服现有技术Android系统没有支持无物理输入设备WiFi联网方法和装置的缺陷。
本发明为解决上述技术问题所采用的技术方案为:
一种无物理输入Android设备WiFi联网方法,包括步骤:
A1、无物理输入设备启动,开辟第一进程,运行设备控制程序,开辟第二进程,运行Native服务程序,设备控制程序调用Native服务程序,启动联网过程;
A2、Native服务程序进行WiFi联网初始化后通知设备控制程序,设备控制程序通知辅助配置手持设备发送上网账号和密码信息;
A3、Native服务程序开辟第三进程,运行监听解析程序,监听解析程序解析辅助配置手持设备以及AP的广播包后,将解析得到的上网账号和密码以及局域网识别信息写入配置文件;
A4、Native服务程序调用Android系统网卡驱动程序,根据配置文件进行WiFi联网,联网成功后通知设备控制程序。
根据本发明的实施例,所述步骤A1包括步骤:设备控制程序采用JNI机制调用Native服务程序。
根据本发明的实施例,所述步骤A1包括步骤:设备控制程序采用阻塞式调用方式调用Native服务程序。
根据本发明的实施例,所述步骤A2中WiFi联网初始化包括步骤:备份现有WiFi配置信息,清除系统中当前WiFi配置信息,加载网卡驱动程序。
根据本发明的实施例,所述步骤A3包括步骤:根据无物理输入Android设备当前使用的WiFi模组型号选择执行相应的监听解析程序。
根据本发明的实施例,所述步骤A3包括步骤:建立统一的数据结构,将不同WiFi模组型号对应的监听解析程序所解析的相关信息填入该数据结构。
根据本发明的实施例,所述步骤A3包括步骤:将解析得到的上网账号和密码设置为最高优先级。
根据本发明的实施例,所述步骤A4包括步骤:确定网卡分配到IP地址后,Native服务程序通过广播包通知辅助配置手持设备。
根据本发明的实施例,局域网识别信息设为SSID。
一种无物理输入Android设备WiFi联网装置,包括依次相连的设备控制模块、联网服务模块和监听解析模块,设备控制模块用于控制无物理输入设备的运行并启动联网过程,联网服务模块用于进行WiFi联网初始化,调用Android系统网卡驱动程序,根据配置文件进行WiFi联网,联网成功后通知设备控制模块,监听解析模块用于解析辅助配置手持设备以及AP的广播包,将解析得到的上网账号和密码以及局域网识别信息写入配置文件。
实施本发明的技术方案,具有以下有益效果:本发明针对无物理输入Android设备提供了统一的WiFi联网接口,完全屏蔽了硬件和协议的差异性,提高了无物理输入Android设备运行的稳健性。
附图说明
下面通过参考附图并结合实例具体地描述本发明,本发明的优点和实现方式将会更加明显,其中附图所示内容仅用于对本发明的解释说明,而不构成对本发明的任何意义上的限制,在附图中:
图1为本发明流程图;
图2为本发明多进程WiFi联网过程示意图;
图3为本发明监听解析程序使用的统一数据结构示意图;
图4为本发明实施例流程图;
图5为本发明装置示意图。
具体实施方式
如图1、图2和图3所示,本发明无物理输入Android设备WiFi联网方法,包括步骤:
S101、无物理输入设备启动,开辟第一进程,运行设备控制程序,开辟第二进程,运行Native服务程序,设备控制程序调用Native服务程序,启动联网过程;
S102、Native服务程序进行WiFi联网初始化后通知设备控制程序,设备控制程序通知辅助配置手持设备发送上网账号和密码信息;
S103、Native服务程序开辟第三进程,运行监听解析程序,监听解析程序解析辅助配置手持设备以及AP的广播包后,将解析得到的上网账号和密码以及局域网识别信息写入配置文件;
S104、Native服务程序调用Android系统网卡驱动程序,根据配置文件进行WiFi联网,联网成功后通知设备控制程序并广播通知辅助配置手持设备。
在本发明优选的实施例中步骤A1包括步骤:设备控制程序采用JNI机制调用Native服务程序。设备控制程序采用阻塞式调用方式调用Native服务程序。步骤A2中WiFi联网初始化包括步骤:备份现有WiFi配置信息,清除系统中当前WiFi配置信息,加载网卡驱动程序。步骤A3包括步骤:根据无物理输入Android设备当前使用的WiFi模组型号选择执行相应的监听解析程序。步骤A3包括步骤:建立统一的数据结构,将不同WiFi模组型号对应的监听解析程序所解析的相关信息填入该数据结构。步骤A3包括步骤:将解析得到的上网账号和密码设置为最高优先级。步骤A4包括步骤:确定网卡分配到IP地址后,Native服务程序通过广播包通知辅助配置手持设备。局域网识别信息设为SSID。
如图5所示,本发明无物理输入Android设备WiFi联网装置,包括依次相连的设备控制模块、联网服务模块和监听解析模块,设备控制模块用于控制无物理输入设备的运行并启动联网过程,联网服务模块用于进行WiFi联网初始化,调用Android系统网卡驱动程序,根据配置文件进行WiFi联网,联网成功后通知设备控制模块,监听解析模块用于解析辅助配置手持设备以及AP的广播包,将解析得到的上网账号和密码以及局域网识别信息写入配置文件。
如图4所示,是本发明实施例的流程图:
1、由于硬件网卡操作的需要,把基本的操作都封装在Native服务程序中,Native服务程序具有root权限,系统开机后,这个Native服务程序自动启动。
2、另一个进程中的设备控制程序通过JNI接口,设置相关的配置后,如协议类型、加密的AES key,通过binder机制阻塞调用开始服务的Native服务接口,Native服务程序被调用后进入主要的解析流程,设备控制程序和Native服务程序所在的两个进程间使用Binder机制进行通讯。
3、Native服务收到启动消息后,先备份wpa_supplicant.conf配置文件,这个文件主要记录系统连接过的WiFi热点账号密码的信息。因为这些配置按照优先级可以作为备用配置,在更换环境后,可以自动连上已经配置过的路由。备份完后,清除这些配置。
4、重新启动Android的WiFi服务,主要为网卡驱动的重新装载、wpa_supplicant服务和UI的刷新,这个过程中使用了Android系统的svc命令接口,此时Android的WiFi处于扫描的状态,没有连上任何的路由。
5、第4步完成,把此状态消息上报到应用层设备控制程序,设备控制程序通知辅助配置手持设备发送上网账号和密码等相关的配置广播。
6、监听解析程序进入网卡监听模式,并解析相关的广播包。这个流程和WiFi的厂商相关,因此本发明针对不同厂商的WiFi模组(包括网卡和芯片)设置不同的监听解析程序,运行时根据读取到的WiFi模组参数调用相应的监听解析程序,并设置统一的数据结构,放置监听解析程序返回的解析信息,屏蔽硬件和协议的差异性。
7、解析到用户配置的WiFi热点账号和密码后,写入第3步备份的配置文件中,并设置此账号密码为目前最高优先级。
8、重复第4步的操作,Android系统网卡驱动程序根据刚刚设置的账号和密码,完成联网,Native服务程序把联网成功的状态上报给应用层设备控制程序。
9、Native服务检测网卡分配到ip后,按照协议规定,往规定的端口发送广播,反馈配置端已经配置成功。
以上为基本流程,需要注意的是:
1)新配的信息加在原来配置信息的后面,这样会导致配置信息无限增长,增大每次解析的时间开销,设定配置的最大优先级为10,即只有10组有效的配置。
2)对应用层设备控制程序来说,调用为阻塞同步调用,需要设置异步回调来通知设备控制程序目前Native服务程序端的状态信息。特别是第5步,为了体验,服务监听解析超时大约有30s,配置端超时为30s,两个步骤需要同步,第5步为同步的关键,主要应用根据这个通过显示或者声音去通知用户进入配置操作。
本领域技术人员不脱离本发明的实质和精神,可以有多种变形方案实现本发明,以上所述仅为本发明较佳可行的实施例而已,并非因此局限本发明的权利范围,凡运用本发明说明书及附图内容所作的等效结构变化,均包含于本发明的权利范围之内。
Claims (8)
1.一种无物理输入Android设备WiFi联网方法,其特征在于,包括步骤:
A1、无物理输入设备启动,开辟第一进程,运行设备控制程序,开辟第二进程,运行Native服务程序,设备控制程序调用Native服务程序,启动联网过程,设备控制程序采用阻塞式调用方式调用Native服务程序;
A2、Native服务程序进行WiFi联网初始化后通知设备控制程序,设备控制程序通知辅助配置手持设备发送上网账号和密码信息;
A3、Native服务程序开辟第三进程,运行监听解析程序,监听解析程序解析辅助配置手持设备以及AP的广播包后,将解析得到的上网账号和密码以及局域网识别信息写入配置文件;
A4、Native服务程序调用Android系统网卡驱动程序,根据配置文件进行WiFi联网,联网成功后通知设备控制程序。
2.根据权利要求1所述的无物理输入Android设备WiFi联网方法,其特征在于,所述步骤A1包括步骤:设备控制程序采用JNI机制调用Native服务程序。
3.根据权利要求2所述的无物理输入Android设备WiFi联网方法,其特征在于,所述步骤A2中WiFi联网初始化包括步骤:备份现有WiFi配置信息,清除系统中当前WiFi配置信息,加载网卡驱动程序。
4.根据权利要求3所述的无物理输入Android设备WiFi联网方法,其特征在于,所述步骤A3包括步骤:根据无物理输入Android设备当前使用的WiFi模组型号选择执行相应的监听解析程序。
5.根据权利要求4所述的无物理输入Android设备WiFi联网方法,其特征在于,所述步骤A3包括步骤:建立统一的数据结构,将不同WiFi模组型号对应的监听解析程序所解析的相关信息填入该数据结构。
6.根据权利要求5所述的无物理输入Android设备WiFi联网方法,其特征在于,所述步骤A3包括步骤:将解析得到的上网账号和密码设置为最高优先级。
7.根据权利要求6所述的无物理输入Android设备WiFi联网方法,其特征在于,所述步骤A4包括步骤:确定网卡分配到IP地址后,Native服务程序通过广播包通知辅助配置手持设备。
8.根据权利要求7所述的无物理输入Android设备WiFi联网方法,其特征在于:局域网识别信息设为SSID。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510563840.3A CN105263177B (zh) | 2015-09-06 | 2015-09-06 | 一种无物理输入Android设备WiFi联网方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510563840.3A CN105263177B (zh) | 2015-09-06 | 2015-09-06 | 一种无物理输入Android设备WiFi联网方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105263177A CN105263177A (zh) | 2016-01-20 |
CN105263177B true CN105263177B (zh) | 2019-03-01 |
Family
ID=55102638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510563840.3A Active CN105263177B (zh) | 2015-09-06 | 2015-09-06 | 一种无物理输入Android设备WiFi联网方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105263177B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105933160B (zh) * | 2016-06-23 | 2020-02-18 | 四川长虹电器股份有限公司 | 在Android智能电视上实现有线网络快速连接的方法 |
CN107529206A (zh) * | 2017-08-30 | 2017-12-29 | 四川长虹电器股份有限公司 | Android设备Wi‑Fi密码的备份与恢复方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101873593A (zh) * | 2010-06-21 | 2010-10-27 | 江苏鸿信系统集成有限公司 | 一种基于Android的Wifi无线拨号系统及方法 |
CN102547695A (zh) * | 2012-03-09 | 2012-07-04 | 成都飞鱼星科技开发有限公司 | 无线网络安全认证的方法 |
CN102546038A (zh) * | 2010-12-14 | 2012-07-04 | 上海三旗通信科技股份有限公司 | 一种wifi信号测试方法 |
CN103812653A (zh) * | 2012-11-15 | 2014-05-21 | 中国电信股份有限公司 | 自动获得无线网络接入帐号信息的方法与系统 |
CN103987040A (zh) * | 2014-05-07 | 2014-08-13 | 华晶科技股份有限公司 | 蓝牙辅助联机建立方法与无线存取点装置 |
-
2015
- 2015-09-06 CN CN201510563840.3A patent/CN105263177B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101873593A (zh) * | 2010-06-21 | 2010-10-27 | 江苏鸿信系统集成有限公司 | 一种基于Android的Wifi无线拨号系统及方法 |
CN102546038A (zh) * | 2010-12-14 | 2012-07-04 | 上海三旗通信科技股份有限公司 | 一种wifi信号测试方法 |
CN102547695A (zh) * | 2012-03-09 | 2012-07-04 | 成都飞鱼星科技开发有限公司 | 无线网络安全认证的方法 |
CN103812653A (zh) * | 2012-11-15 | 2014-05-21 | 中国电信股份有限公司 | 自动获得无线网络接入帐号信息的方法与系统 |
CN103987040A (zh) * | 2014-05-07 | 2014-08-13 | 华晶科技股份有限公司 | 蓝牙辅助联机建立方法与无线存取点装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105263177A (zh) | 2016-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103139920B (zh) | 一种用于非连续接收配置的方法和用户设备 | |
US20100329211A1 (en) | Method and Apparatus for Handling Inter-RAT Handover | |
CN104469789A (zh) | 智能家电的连接配置方法以及系统 | |
CN111786893B (zh) | mesh组网中无线路由器软件版本的同步方法和装置 | |
CN104219738A (zh) | 非连续接收参数配置方法及装置 | |
CN105491600A (zh) | 一种家电设备的入网方法、装置及相关设备 | |
CN111918308A (zh) | 非公众网络测量方法、装置、设备和存储介质 | |
WO2015180068A1 (zh) | 一种实现虚拟化网管的方法、装置及系统 | |
WO2019184658A1 (zh) | 配置文件的切换方法、装置与移动终端 | |
CN102957623B (zh) | 一种边界网关协议邻居的维护方法和设备 | |
EP3310119B1 (en) | Method and apparatus for processing network connection | |
CN113348724A (zh) | 蜂窝网络中在不活动状态下的上行链路通信 | |
CN110381489A (zh) | 蓝牙连接方法、显示终端及电视机 | |
WO2016119218A1 (zh) | 呼叫补充业务配置同步方法、装置及系统 | |
CN103685530A (zh) | Wlan现网ap自动升级控制方法及系统 | |
CN105263177B (zh) | 一种无物理输入Android设备WiFi联网方法和装置 | |
US20170280410A1 (en) | Method, device and system for implementing information self-registration, and computer storage medium | |
CN113543281A (zh) | 语音通话方法和语音通话装置 | |
CN105743671B (zh) | 一种扩容方法、控制器及系统 | |
CN110831256A (zh) | 数据无线承载的恢复方法及装置、存储介质、电子装置 | |
CN113396600B (zh) | 信息验证方法、装置、设备及存储介质 | |
CN103873294A (zh) | 一种issu升级过程中ppp链路保活的方法和设备 | |
CN109274532B (zh) | 策略下发的方法、装置、系统、集控设备及可读存储介质 | |
WO2012155571A1 (zh) | 一种基站自配置的方法及装置 | |
CN105072185A (zh) | 一种tr069远程监控方法、系统和通讯设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |