CN107479934B - Android设备Wi-Fi快速开关的方法 - Google Patents
Android设备Wi-Fi快速开关的方法 Download PDFInfo
- Publication number
- CN107479934B CN107479934B CN201710723091.5A CN201710723091A CN107479934B CN 107479934 B CN107479934 B CN 107479934B CN 201710723091 A CN201710723091 A CN 201710723091A CN 107479934 B CN107479934 B CN 107479934B
- Authority
- CN
- China
- Prior art keywords
- current operation
- network connection
- android
- flag set
- access point
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及Wi‑Fi技术领域,公开了一种Android设备Wi‑Fi快速开关的方法,节省Wi‑Fi开关消耗的时间和系统资源,提升用户体验。本发明的方案包括:系统持续运行wpa_supplicant并加载驱动,同时,读取当前操作所设置的系统标志;若当前操作为关闭Wi‑Fi,则当前操作所设置系统标志为禁止网络连接,系统断开网络连接,并隐藏网络接入点选择页面;若当前操作为开启Wi‑Fi,则当前操作所设置系统标志为允许网络连接,系统发起网络连接。本发明适用于Android设备的Wi‑Fi管理。
Description
技术领域
本发明涉及Wi-Fi技术领域,特别涉及Android设备Wi-Fi快速开关的方法。
背景技术
随着智能设备的发展,网络连接已经成为其必不可少的一个功能,Wi-Fi(无线网络)连接摆脱了连接线的束缚,连接方便,是网络连接很常用的一种方式。Android设备,是指使用Android操作系统进行作业的智能设备。
目前,Android设备Wi-Fi的开关方法,采用的是Android系统的默认方法,此默认方法在执行Wi-Fi开关动作的时候,需要消耗一定的时间和系统资源。当用户点击开启Wi-Fi的时候,需要等待10s左右的时间,才可以看到可用的网络接入点列表,供用户进行选择操作。这是因为Android系统在这个过程中先要加载驱动,然后运行wpa_supplicant,然后扫描网络接入点,然后显示可用的网络接入点。在这个过程中,需要系统资源(处理器、内存和Wi-Fi模块)的配合。而且如果在这个过程中,用户没有等到Wi-Fi开启成功又点击关闭Wi-Fi,将导致系统资源调度的混乱,增加Android系统不稳定的风险。
发明内容
本发明要解决的技术问题是:提供一种Android设备Wi-Fi快速开关的方法,节省Wi-Fi开关消耗的时间和系统资源,提升用户体验。
为解决上述问题,本发明采用的技术方案是:系统持续运行wpa_supplicant并加载驱动,同时,读取当前操作所设置的系统标志;
若当前操作为关闭Wi-Fi,则当前操作所设置系统标志为禁止网络连接,系统断开网络连接,并隐藏网络接入点选择页面;
若当前操作为开启Wi-Fi,则当前操作所设置系统标志为允许网络连接,系统发起网络连接。
进一步的,所述读取当前操作所设置的系统标志是通过以下方式实现的:
在WifiStateMachine的ConnectModeState类的processMessage()方法的caseCMD_AUTO_CONNECT中加入语句:
if(false==SystemProperties.getBoolean("persist.sys.wifi.state",true))break。
本发明的有益效果是:由于本发明不停止运行wpa_supplicant,且不卸载驱动,因此在Wi-Fi开关的时候,可较大程度地节省消耗的时间和系统资源,提升用户体验
具体实施方式
在实施例之前,我们首先介绍目前Android系统Wi-Fi开关的默认方法。目前Android系统对于Wi-Fi的控制主要是由系统服务WifiService来完成的,WifiService的接口通过WifiManager对应用开放。在Android设备已启动的情况下,用户点击Wi-Fi开关,Android系统的处理过程如下:
①关闭Wi-Fi
1)设置Wi-Fi关闭,调用WifiManager.setWifiEnabled();
2)断开当前网络连接,调用WifiStateMachine.handleNetworkDisconnect();
3)停止运行wpa_supplicant,调用WifiMonitor.stopSupplicant();
4)卸载驱动,调用WifiNative.unloadDriver();
此过程耗时2s左右,时间主要消耗在第3步和第4步上。
②开启Wi-Fi
1)设置Wi-Fi开启,调用WifiManager.setWifiEnabled();
2)加载驱动,调用WifiNative.loadDriver();
3)运行wpa_supplicant,调用WifiNative.startSupplicant();
4)周期性扫描网络接入点,调用WifiStateMachine.startScan(),等待扫描结束;
5)若扫描到网络接入点,发出广播,调用WifiStateMachine.sendScanResultsAvailableBroadcast();
6)网络选择页面接收到此广播,获取网络接入点列表信息,调用WifiManager.getScanResults(),显示出来,供用户选择;
此过程耗时10s左右,时间主要消耗在第2步至第6步上。
为了节省时间和系统资源,针对关闭Wi-Fi的过程,本发明采用的方法是:首先在WifiStateMachine的ConnectModeState类的processMessage()方法的case CMD_AUTO_CONNECT中加入语句:
if(false==SystemProperties.getBoolean("persist.sys.wifi.state",true))break,来判断系统标志的状态,以决定是否进行网络连接;然后不停止运行wpa_supplicant,不卸载驱动,同时,读取当前操作所设置的系统标志,以决定是否允许网络连接。
关闭Wi-Fi的过程如下:
关闭Wi-Fi
1)设置系统标志禁止网络连接,调用SystemProperties.set("persist.sys.wifi.state","false");
2)断开网络连接,调用WifiManager.disconnect();
3)隐藏网络接入点选择页面;
此过程0.5s内完成,节省时间2s左右。
针对开启Wi-Fi的过程,本发明采用的方法是:允许网络连接,发起网络连接。开启Wi-Fi的过程如下:
开启Wi-Fi
1)设置系统标志允许网络连接,调用SystemProperties.set("persist.sys.wifi.state","true");;
2)发起网络连接,调用WifiManager.reconnect()。
此过程0.5s内完成,节省时间10s左右。
由上述实施例可见,本发明节省了消耗的时间(开启Wi-Fi节省10s左右,关闭开启Wi-Fi节省2s左右)和系统资源,优化了用户体验,因此提升了Android系统的稳定性。
以上描述了本发明的基本原理和主要的特征,说明书的描述只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。
Claims (1)
1.Android设备Wi-Fi快速开关的方法,其特征在于,系统持续运行wpa_supplicant并加载驱动,同时,读取当前操作所设置的系统标志,所述读取当前操作所设置的系统标志是通过以下方式实现的:
在WifiStateMachine的ConnectModeState类的processMessage()方法的case CMD_AUTO_CONNECT中加入语句:
if(false==SystemProperties.getBoolean("persist.sys.wifi.state",true))break;
若当前操作为关闭Wi-Fi,则当前操作所设置系统标志为禁止网络连接,系统断开网络连接,并隐藏网络接入点选择页面;
若当前操作为开启Wi-Fi,则当前操作所设置系统标志为允许网络连接,系统发起网络连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710723091.5A CN107479934B (zh) | 2017-08-22 | 2017-08-22 | Android设备Wi-Fi快速开关的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710723091.5A CN107479934B (zh) | 2017-08-22 | 2017-08-22 | Android设备Wi-Fi快速开关的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107479934A CN107479934A (zh) | 2017-12-15 |
CN107479934B true CN107479934B (zh) | 2020-08-11 |
Family
ID=60602116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710723091.5A Active CN107479934B (zh) | 2017-08-22 | 2017-08-22 | Android设备Wi-Fi快速开关的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107479934B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020942A (zh) * | 2016-05-05 | 2016-10-12 | 四川安嵌科技有限公司 | 一种基于多系统的WiFi设备复用方法及装置 |
CN106506862A (zh) * | 2016-12-07 | 2017-03-15 | 广东欧珀移动通信有限公司 | 一种移动终端工作模式切换方法及移动终端 |
CN106708633A (zh) * | 2016-12-07 | 2017-05-24 | 广东欧珀移动通信有限公司 | 加快终端WiFi工作站模式关闭速度的方法及移动终端 |
CN106912045A (zh) * | 2017-01-03 | 2017-06-30 | 青岛海信电器股份有限公司 | 一种智能电视机无线保真Wi‑Fi的回连方法和装置 |
CN107071865A (zh) * | 2016-12-07 | 2017-08-18 | 广东欧珀移动通信有限公司 | 一种无线保真快速连接的方法及装置 |
-
2017
- 2017-08-22 CN CN201710723091.5A patent/CN107479934B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020942A (zh) * | 2016-05-05 | 2016-10-12 | 四川安嵌科技有限公司 | 一种基于多系统的WiFi设备复用方法及装置 |
CN106506862A (zh) * | 2016-12-07 | 2017-03-15 | 广东欧珀移动通信有限公司 | 一种移动终端工作模式切换方法及移动终端 |
CN106708633A (zh) * | 2016-12-07 | 2017-05-24 | 广东欧珀移动通信有限公司 | 加快终端WiFi工作站模式关闭速度的方法及移动终端 |
CN107071865A (zh) * | 2016-12-07 | 2017-08-18 | 广东欧珀移动通信有限公司 | 一种无线保真快速连接的方法及装置 |
CN106912045A (zh) * | 2017-01-03 | 2017-06-30 | 青岛海信电器股份有限公司 | 一种智能电视机无线保真Wi‑Fi的回连方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107479934A (zh) | 2017-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017166678A1 (zh) | 一种移动数据流量监控方法、装置、手机和电子设备 | |
EP3537734B1 (en) | Method and device for connecting a bluetooth device | |
CN110312286B (zh) | 网络切换方法、通信装置及通信设备 | |
CN108184164A (zh) | 音频播放方法、智能电视及计算机可读存储介质 | |
CA3053427C (en) | Network connection method and apparatus | |
EP3197117A1 (en) | Communication processor, method of implementing volte, mobile terminal, data card | |
US9974010B2 (en) | System and method for establishing network connection and terminal having the system | |
CN110062366A (zh) | 蓝牙配对异常处理方法、设备、存储介质及装置 | |
CN102104686A (zh) | 一种手机及其手机来电及通话处理方法 | |
CN105450857B (zh) | 防止语音来电中断数据网络使用的情景模式的实现方法及装置 | |
CN102724359A (zh) | 一种手机来电的处理方法 | |
CN108882319B (zh) | 移动网络切换方法、移动终端及计算机可读存储介质 | |
TW201408015A (zh) | 回應傳呼訊息 | |
CN107479934B (zh) | Android设备Wi-Fi快速开关的方法 | |
CN104102498B (zh) | 一种移动终端及其开机方法 | |
CN107466022B (zh) | 一种sim卡切换方法,移动终端及存储介质 | |
US8879705B2 (en) | Method, device, and terminal for implementing incoming call protection | |
US8233904B2 (en) | Pilot-measurement control method and dual-mode terminal | |
CN105657532B (zh) | 智能电视无线网开机启动方法以及装置 | |
JP2010028680A (ja) | 移動端末及び通信方法 | |
CN110113472B (zh) | 一种基于云端虚拟手机识别骚扰电话的方法及系统 | |
US20190230486A1 (en) | Operating method of a mobile communication device | |
CN104735737A (zh) | 一种用于机顶盒自动切换网络的方法及装置 | |
WO2024140693A1 (zh) | 通话方法、装置及电子设备 | |
US11258897B2 (en) | Communication device controlling method |
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 |