发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的是提供一种WIFI连接方法及装置,能够筛选较优的WIFI列表推荐给用户。
本发明所采用的技术方案是:
第一方面,本发明提供一种WIFI连接方法,包括以下步骤:
以预设次数多次扫描附近WIFI得到多个WIFI列表,作为WIFI列表组,其中,最后一次扫描附近WIFI得到的WIFI列表作为第一WIFI列表;
将所述第一WIFI列表中信号强度较弱的WIFI剔除,得到第二WIFI列表;
遍历黑名单WIFI,依次判断所述第二WIFI列表中的WIFI是否存在于黑名单,若存在于黑名单则将该WIFI剔除,得到第三WIFI列表;
判断所述第三WIFI列表中的WIFI是否需要密码,若不需要密码则保留,若需要密码则遍历公有库WIFI、私有库WIFI和本地保存的WIFI,依次判断需要密码的WIFI是否保存在公有库、私有库和本地,若没有保存则将该WIFI剔除,若保存则从所述公有库、私有库和本地获取密码,得到第四WIFI列表;
所述WIFI列表组中,所述第一WIFI列表前一次扫描附近WIFI得到的WIFI列表作为第五WIFI列表,所述第五WIFI列表前一次扫描附近WIFI得到的WIFI列表作为第六WIFI列表,判断所述第四WIFI列表中的WIFI是否均出现在所述第五WIFI列表和所述第六WIFI列表,若均出现则保留,否则将该WIFI剔除,得到第七WIFI列表;
遍历所述WIFI列表组中除所述第一WIFI列表之外的其他WIFI列表,判断所述第七WIFI列表中的WIFI在所述其他WIFI列表中出现的次数和每次的信号强度;
计算所述第七WIFI列表中的WIFI的平均信号强度,并根据所述平均信号强度进行排序,得到第八WIFI列表;
将所述第八WIFI列表返回给终端,供终端选择和连接。
进一步地,所述预设次数大于等于三次。
进一步地,所述信号强度包括0级、1级、2级和3级,所述信号强度较弱的WIFI包括信号强度为0级和信号强度为1级的WIFI。
进一步地,所述WIFI的平均信号强度为所述WIFI的信号强度之和除以出现的次数。
第二方面,本发明提供一种WIFI连接装置,包括:
扫描模块,用于以预设次数多次扫描附近WIFI得到多个WIFI列表,作为WIFI列表组,其中,最后一次扫描附近WIFI得到的WIFI列表作为第一WIFI列表;
剔除模块,用于将所述第一WIFI列表中信号强度较弱的WIFI剔除,得到第二WIFI列表;
第一遍历模块,用于遍历黑名单WIFI,依次判断所述第二WIFI列表中的WIFI是否存在于黑名单,若存在于黑名单则将该WIFI剔除,得到第三WIFI列表;
第一判断模块,用于判断第三WIFI列表中的WIFI是否需要密码,若不需要密码则保留,若需要密码则遍历公有库WIFI、私有库WIFI、和本地保存的WIFI,依次判断需要密码的WIFI是否保存在公有库、私有库和本地,若没有保存则将该WIFI剔除,若保存则从所述公有库、私有库和本地获取密码,得到第四WIFI列表;
第二判断模块,用于判断所述第四WIFI列表中的WIFI是否均出现在所述第五WIFI列表和所述第六WIFI列表,若均出现则保留,否则将该WIFI剔除,得到第七WIFI列表,所述WIFI列表组中,所述第一WIFI列表前扫描附近WIFI得到的WIFI列表作为第五WIFI列表,所述第五WIFI列表前扫描附近WIFI得到的WIFI列表作为第六WIFI列表;
第二遍历模块,用于遍历所述WIFI列表组中除第一WIFI列表之外的其他WIFI列表,判断所述第七WIFI列表中的WIFI出现的次数和每次的信号强度;
计算模块,用于计算所述第七WIFI列表中的WIFI的平均信号强度,并根据所述平均信号强度排序,得到第八WIFI列表;
连接模块,用于将所述第八WIFI列表返回给终端,供终端选择和连接;
进一步地,所述预设次数大于等于三次。
进一步地,所述信号强度包括0级、1级、2级和3级,所述信号强度较弱的WIFI包括信号强度为0级和信号强度为1级的WIFI。
进一步地,所述WIFI的平均信号强度为所述WIFI的信号强度之和除以出现的次数。
本发明的有益效果是:
本发明通过多次扫描附近WIFI得到多个WIFI列表,对最后一次扫描附近WIFI得到的WIFI列表进行层层过滤和筛选,筛选出信号较强、稳定性较好的WIFI,再通过遍历其他WIFI列表,通过计算平均信号强度对WIFI进行排序,提供给用户终端选择和连接,从而提高了连接WIFI的成功率和用户使用WIFI上网的体验。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例一
本实施例提供了一种WIFI连接方法,如图1所示,包括以下步骤:
S1.以预设次数多次扫描附近WIFI得到多个WIFI列表,作为WIFI列表组,其中,最后一次扫描附近WIFI得到的WIFI列表作为第一WIFI列表;
S2.将第一WIFI列表中信号强度较弱的WIFI剔除,得到第二WIFI列表;
S3.遍历黑名单WIFI,依次判断第二WIFI列表中的WIFI是否存在于黑名单,若存在于黑名单则将该WIFI剔除,得到第三WIFI列表;
S4.判断第三WIFI列表中的WIFI是否需要密码,若不需要密码则保留,若需要密码则遍历公有库WIFI、私有库WIFI和本地保存的WIFI,依次判断需要密码的WIFI是否保存在公有库、私有库和本地,若没有保存则将该WIFI剔除,若保存则从公有库、私有库和本地获取密码,得到第四WIFI列表;
S5.WIFI列表组中,第一WIFI列表前一次扫描附近WIFI得到的WIFI列表作为第五WIFI列表,第五WIFI列表前一次扫描附近WIFI得到的WIFI列表作为第六WIFI列表,判断第四WIFI列表中的WIFI是否均出现在第五WIFI列表和第六WIFI列表,若均出现则保留,否则将该WIFI剔除,得到第七WIFI列表;
S6.遍历WIFI列表组中除第一WIFI列表之外的其他WIFI列表,判断第七WIFI列表中的WIFI在其他WIFI列表中出现的次数和每次的信号强度;
S7.计算第七WIFI列表中的WIFI的平均信号强度,并根据平均信号强度进行排序,得到第八WIFI列表;
S8.将第八WIFI列表返回给终端,供终端选择和连接。
下面对上述各步骤做详细说明:
S1.以预设次数多次扫描附近WIFI得到多个WIFI列表,作为WIFI列表组,其中,最后一次扫描附近WIFI得到的WIFI列表作为第一WIFI列表。具体地,用户启动终端需要进行WIFI连接时,设备自动启动WIFI信号扫描。首先终端会附近WIFI进行多次扫描,得到多个WIFI列表,作为WIFI列表组。其中,最后一次扫描得到的WIFI列表作为第一WIFI列表。
本实施例中,设置扫描附近WIFI的次数为大于等于三次。
S2.将第一WIFI列表中信号强度较弱的WIFI剔除,得到第二WIFI列表。具体地,将最后一次扫描得到的WIFI列表中信号强度较弱的WIFI剔除,以得到信号强的WIFI列表,并作为第二WIFI列表。
WIFI的信号强度以dBm为单位,一般在-90~0之间,可以根据实际需要将信号强度划分为多个等级,以便更快地判断WIFI信号强弱从而剔除信号较弱的WIFI。本实施例中,将WIFI的信号强度划分为4个等级,包括0级、1级、2级和3级。其中,信号强度较弱的WIFI包括信号强度为0级和信号强度为1级的WIFI。
S3.遍历黑名单WIFI,依次判断第二WIFI列表中的WIFI是否存在于黑名单,若存在于黑名单则将该WIFI剔除,得到第三WIFI列表。具体地,黑名单中包括一些存在安全隐患的WIFI,若连接此类WIFI容易泄露用户信息,因此需要判断第二WIFI列表中的WIFI是否在黑名单中,如果存在则将该WIFI剔除,剔除之后得到的WIFI列表作为第三WIFI列表。
S4.判断第三WIFI列表中的WIFI是否需要密码,若不需要密码则保留,若需要密码则遍历公有库WIFI、私有库WIFI和本地保存的WIFI,依次判断需要密码的WIFI是否保存在公有库、私有库和本地,若没有保存则将该WIFI剔除,若保存则从公有库、私有库和本地获取密码,得到第四WIFI列表。具体地,首先判断第三WIFI列表中的WIFI是否需要输入密码才能连接,如果不需要输入密码就能连接则保留该WIFI,如果需要输入密码才能连接,则遍历公有库WIFI、私有库WIFI和本地保存的WIFI,判断需要输入密码才能连接的WIFI是否保存在公有库、私有库和本地。公有库WIFI指公共场所提供的,可以供多人连接的WIFI,私有库WIFI指私人专用的WIFI,本地保存的WIFI指终端保存过的WIFI,公有库、私有库和本地不仅保存WIFI信息,同时保存了WIFI的连接密码。遍历公有库WIFI、私有库WIFI和本地保存的WIFI,若需要输入密码才能连接的WIFI没有保存在公有库、私有库和本地,则无法获取WIFI密码也就无法连接WIFI,因此剔除;若需要输入密码才能连接的WIFI保存在公有库、私有库和本地,则可以从其中获取连接密码。该筛选步骤完成后,剩余的WIFI作为第四WIFI列表。
S5.WIFI列表组中,第一WIFI列表前一次扫描附近WIFI得到的WIFI列表作为第五WIFI列表,第五WIFI列表前一次扫描附近WIFI得到的WIFI列表作为第六WIFI列表,判断第四WIFI列表中的WIFI是否均出现在第五WIFI列表和第六WIFI列表,若均出现则保留,否则将该WIFI剔除,得到第七WIFI列表。具体地,步骤S1中,WIFI列表组中最后三次扫描的WIFI列表分别为第五WIFI列表、第六WIFI列表和第一WIFI列表,第一WIFI列表经过上述步骤S2、S3、S4的筛选得到的WIFI列表为第四WIFI列表。判断第四WIFI列表中的每个WIFI是否在第五WIFI列表和第六WIFI列表中都出现过,如果都出现过则保留该WIFI,如果只在第五WIFI列表或只在第六WIFI列表中出现,或在第五WIFI列表和第六WIFI列表中均未出现,说明该WIFI存在不稳定性,则将该WIFI剔除,得到第七WIFI列表。此处值得说明的是,判断WIFI是否连续出现在最后三次扫描的WIFI列表中(即第五WIFI列表、第六WIFI列表和第一WIFI列表)只是本实施例的一种实施方式,也可以根据实际需要设置连续出现四次甚至更多次,来得到更优的WIFI列表。
S6.遍历WIFI列表组中除第一WIFI列表之外的其他WIFI列表,判断第七WIFI列表中的WIFI在其他WIFI列表中出现的次数和每次的信号强度。具体地,遍历第一WIFI列表之前的其他WIFI列表,判断第七WIFI列表中的WIFI在其他WIFI列表中出现的次数,以及每次的信号强度,主要目的在于筛选出现次数较多即信号较稳定的WIFI。
S7.计算第七WIFI列表中的WIFI的平均信号强度,并根据平均信号强度进行排序,得到第八WIFI列表。具体地,将第七WIFI列表中的WIFI在其他WIFI列表中的信号强度和在第七WIFI列表中的信号强度累加,除以在其他WIFI列表中出现的次数+1(此处+1为第七WIFI列表的次数),得到第七WIFI列表中的WIFI的平均信号强度,根据平均信号强度对第七WIFI列表中的WIFI进行排序,得到第八WIFI列表。
S8.将第八WIFI列表返回给终端,供终端选择和连接。具体地,步骤S7得到的第八WIFI列表为信号较强且较稳定的WIFI的集合,通过排序后返回给用户终端,用户可以更加清楚地了解WIFI的优劣,从而在第八WIFI列表中选择WIFI并进行连接,实现上网。
以扫描附近WIFI六次为例:
1)扫描附近WIFI六次,得到六个WIFI列表,分别记为1、2、3、4、5、6;
2)将第6次扫描的WIFI列表6中信号强度为0级和1级的WIFI剔除,得到WIFI列表7;
3)判断WIFI列表7中的WIFI是否在黑名单中,如果在则剔除,得到WIFI列表8;
4)判断WIFI列表8中的WIFI是否需要密码,不需要密码则保留,需要密码则判断是否保存在公有库、私有库和本地,如果没有保存则剔除,得到WIFI列表9,并从公有库、私有库和本地获取WIFI列表9中的WIFI的密码;
5)判断WIFI列表9中的WIFI在第5次扫描的WIFI列表5和第4次扫描的WIFI列表4中是否出现,如果都出现即连续出现三次,则该WIFI较稳定,保留该WIFI,如果在第5次扫描的WIFI列表5和第4次扫描的WIFI列表4中有一次未出现,则该WIFI稳定性较差,剔除该WIFI,得到WIFI列表10;
6)判断WIFI列表10中的WIFI在第1次扫描的WIFI列表1、第2次扫描的WIFI列表2、第3次扫描的WIFI列表3、第4次扫描的WIFI列表4、第5次扫描的WIFI列表5中出现的次数和每次的信号强度。例如,WIFI列表10中的WIFI A在WIFI列表1中出现且信号强度为2级,在WIFI列表4中出现且信号强度为1级,在WIFI列表5中出现且信号强度为3级,在WIFI列表10中的信号强度为2级,则WIFI A的平均信号强度为(2+1+3+2)/4=2级;
7)计算WIFI列表10中每个WIFI的平均信号强度,并进行排序,得到WIFI列表11;
8)将WIFI列表11推荐给用户终端,供用户选择和连接。
实施例二
本实施例提供了一种WIFI连接装置,包括:
扫描模块,用于以预设次数多次扫描附近WIFI得到多个WIFI列表,作为WIFI列表组,其中,最后一次扫描附近WIFI得到的WIFI列表作为第一WIFI列表;
剔除模块,用于将第一WIFI列表中信号强度较弱的WIFI剔除,得到第二WIFI列表;
第一遍历模块,用于遍历黑名单WIFI,依次判断第二WIFI列表中的WIFI是否存在于黑名单,若存在于黑名单则将该WIFI剔除,得到第三WIFI列表;
第一判断模块,用于判断第三WIFI列表中的WIFI是否需要密码,若不需要密码则保留,若需要密码则遍历公有库WIFI、私有库WIFI、和本地保存的WIFI,依次判断需要密码的WIFI是否保存在公有库、私有库和本地,若没有保存则将该WIFI剔除,若保存则从公有库、私有库和本地获取密码,得到第四WIFI列表;
第二判断模块,用于判断第四WIFI列表中的WIFI是否均出现在第五WIFI列表和第六WIFI列表,若均出现则保留,否则将该WIFI剔除,得到第七WIFI列表,WIFI列表组中,第一WIFI列表前扫描附近WIFI得到的WIFI列表作为第五WIFI列表,第五WIFI列表前扫描附近WIFI得到的WIFI列表作为第六WIFI列表;
第二遍历模块,用于遍历WIFI列表组中除第一WIFI列表之外的其他WIFI列表,判断第七WIFI列表中的WIFI出现的次数和每次的信号强度;
计算模块,用于计算第七WIFI列表中的WIFI的平均信号强度,并根据平均信号强度排序,得到第八WIFI列表;
连接模块,用于将第八WIFI列表返回给终端,供终端选择和连接。
WIFI连接装置的具体工作过程参照实施例一种对WIFI连接方法的描述,此处不再赘述。
本实施例中,预设次数大于等于三次。
本实施例中,信号强度包括0级、1级、2级和3级,信号强度较弱的WIFI包括信号强度为0级和信号强度为1级的WIFI。
本实施例中,WIFI的平均信号强度为WIFI的信号强度之和除以出现的次数。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。