Certains contenus de cette application ne sont pas disponibles pour le moment.
Si cette situation persiste, veuillez nous contacter àObservations et contact
1. (WO2018082482) PROCÉDÉ DE PARTAGE DE RÉSEAU ET PROCÉDÉ ET SYSTÈME D'ACCÈS À UN RÉSEAU
Document

说明书

发明名称

技术领域

1  

背景技术

2  

对发明的公开

技术问题

3  

技术解决方案

4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48   49   50   51   52   53   54   55  

有益效果

56  

附图说明

57   58   59   60   61   62   63   64   65  

本发明的最佳实施方式

66   67   68   69   70   71   72   73   74   75   76   77   78   79   80   81   82   83   84   85   86   87   88   89   90   91   92   93   94   95   96   97   98   99   100   101   102   103   104   105   106   107   108   109   110   111   112   113   114   115   116   117   118   119   120   121   122   123   124   125   126   127   128   129   130   131   132   133   134   135   136   137   138   139   140   141   142   143   144   145   146   147   148   149   150   151   152   153   154   155   156   157   158   159   160   161   162   163   164   165   166   167   168   169   170   171   172   173   174   175   176   177   178   179   180   181   182   183   184   185   186   187   188   189   190   191   192   193   194   195   196   197   198   199   200   201   202   203   204   205   206   207   208   209   210   211   212   213   214   215   216   217   218   219   220   221   222   223   224   225   226   227   228   229   230   231   232   233   234   235   236   237   238   239   240   241   242   243   244   245   246   247   248   249   250   251   252   253   254   255   256   257   258   259   260   261   262   263   264   265   266   267   268   269   270   271   272   273   274   275   276   277   278   279   280   281   282  

权利要求书

1   2   3   4   5   6   7   8   9   10   11   12   13  

附图

页1 

说明书

发明名称 : 一种网络共享方法、接入网络方法及系统

技术领域

技术领域

[1]
本发明涉及智能终端技术领域,特别涉及一种网络共享方法、接入网络方法及系统。

背景技术

背景技术

[2]
目前,智能终端的无线方案包括两种,分别为WiFi和WiFi热点(也可以叫做虚拟无线接入点SOPFTAP)。现在智能终端现有的无线方案中WiFi和WiFi热点为互斥功能,即当开启WiFi功能时会自动关闭WiFi热点功能。那么,当开启WiFi功能之后,用户想将网络共享给其他人使用,需要开启蓝牙网络共享功能;而接入端需要打开蓝牙,进入蓝牙的控制搜索界面进行搜索并选择相应的设备进行匹配,在匹配成功后建立蓝牙PAN连接。但是,所述网络分享过程比较繁琐,需要用户进行大量的操作,给用户的使用带来不变。

对发明的公开

技术问题

[3]
本发明实施例提供一种网络共享方法、接入网络方法及系统,可使得WiFi网络和WiFi热点同时使用,并可通过WiFi热点共享网络,以满足用户对网络共享的需求。

技术解决方案

[4]
为了解决上述技术问题,本发明所采用的技术方案如下:
[5]
一种网络共享方法,其包括:
[6]
当接收到创建热点操作时,检测终端设备是否开启WiFi功能;
[7]
检测到开启WiFi功能时,通过蓝牙GATT(蓝牙通用属性协议)创建配置预设热点名称及密码的模拟WiFi热点;
[8]
通过所述模拟WiFi热点与接入端建立蓝牙PAN连接,以实现网络共享。
[9]
所述网络共享方法,其中,所述通过所述模拟WiFi热点与接入端建立蓝牙PAN连接,以实现网络共享包括:
[10]
接收接入端通过所述虚拟WiFi热点向所述终端设备发送建立蓝牙PAN连接的连接请求,其中,所述连接请求携带所述接入端的蓝牙MAC地址;
[11]
解析所述连接请求,并验证所述蓝牙MAC地址的合法性;
[12]
当所述蓝牙MAC地址合法时,允许所述连接请求并与所述接入端建立蓝牙PAN连接,以实现网络共享方。
[13]
所述网络共享方法,其中,所述接收接入端通过所述虚拟WiFi热点向所述终端设备发送建立蓝牙PAN连接的连接请求,其中,所述连接请求携带所述接入端的蓝牙MAC地址之前还包括:
[14]
接收接入端通过所述虚拟WiFi热点向终端设备发送的接入请求,其中,所述接入请求携带第一密码;
[15]
根据所述接入请求与接入端建立蓝牙GATT连接,读取并验证所述第一密码的合法性;
[16]
当验证成功时,所述终端设备将所述接入端的蓝牙MAC地址设置为合法地址,并将验证成功的信息反馈至接入端。
[17]
所述网络共享方法,其中,根据所述接入请求与接入端建立蓝牙GATT连接,读取并验证所述第一密码的合法性的步骤之后,还包括:
[18]
当验证失败时,清空所述第一密码,并将所述第一密码正确信息写入所述第一密码以告知接入端密码错误。
[19]
所述网络共享方法,其中,所述当接收到创建热点操作时,检测终端设备是否开启WiFi功能包括:
[20]
接收到用户创建WiFi热点操作时,提示用户输入所述WiFi热点的名称以及密码;
[21]
接收用户输入的WiFi热点的名称以及密码,并存储为预设热点名称及密码;
[22]
检测终端设备是否开启WiFi功能。
[23]
一种网络共享系统,其包括:
[24]
一个或多个处理器;
[25]
存储器;以及
[26]
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行;所述一个或多个应用程序包括:
[27]
检测模块,用于当接收到创建热点操作时,检测终端设备是否开启WiFi功能;
[28]
创建模块,用于检测到开启WiFi功能时,通过蓝牙GATT创建配置预设热点名称及密码的模拟WiFi热点;
[29]
第一建立模块,用于通过所述模拟WiFi热点与接入端建立蓝牙PAN连接,以实现网络共享。
[30]
所述网络共享系统,其中,所述第一建立模块具体包括:
[31]
第一接收单元,用于接收接入端通过所述虚拟WiFi热点向所述终端设备发送建立蓝牙PAN连接的连接请求,其中,所述连接请求携带所述接入端的蓝牙MAC地址;
[32]
第一验证单元,用于解析所述连接请求,并验证所述蓝牙MAC地址的合法性;
[33]
第一建立单元,用于当所述蓝牙MAC地址合法时,允许所述连接请求并与所述接入端建立蓝牙PAN连接,以实现网络共享。
[34]
所述网络共享系统,其中,所述第一建立模块还包括:
[35]
第二接收单元,用于接收接入端通过所述虚拟WiFi热点向终端设备发送的接入请求,其中,所述接入请求携带第一密码;
[36]
第二验证单元,用于根据所述接入请求与接入端建立蓝牙GATT连接,读取并验证所述第一密码的合法性;
[37]
反馈单元,用于当验证成功时,所述终端设备将所述接入端的蓝牙MAC地址设置为合法地址,并将验证成功的信息反馈至接入端。
[38]
所述网络共享系统,其中,所述反馈单元,还用于:
[39]
当验证失败时,清空所述第一密码,并将所述第一密码正确信息写入所述第一密码以告知接入端密码错误。
[40]
所述网络共享系统,其中,所述检测模块,还用于:
[41]
接收到用户创建WiFi热点操作时,提示用户输入所述WiFi热点的名称以及密码;
[42]
接收用户输入的WiFi热点的名称以及密码,并存储为预设热点名称及密码;
[43]
检测终端设备是否开启WiFi功能。
[44]
一种接入网络的系统,其包括:
[45]
一个或多个处理器;
[46]
存储器;以及
[47]
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行;所述一个或多个应用程序包括:
[48]
判断模块,用于当搜索到WiFi热点时,判断所述WiFi热点的类型,其中,WiFi热点类型包括虚拟WiFi热点和WiFi热点;
[49]
第二建立模块,用于当网络热点为虚拟WiFi热点时,与所述WiFi热点对应的热点端建立蓝牙GATT;
[50]
第三建立模块,用于通过所述蓝牙GATT连接获取热点端的第二蓝牙MAC地址,并通过所述MAC地址与所述热点端建立蓝牙PAN连接。
[51]
所述接入网络的系统,其中,所述第三建立模块包括:
[52]
发送单元,用于将预设第二密码通过蓝牙GATT发送至所述虚拟WiFi热点对应的热点端;
[53]
读取单元,用于通过蓝牙GATT读取所述第二密码的验证结果,并当所述结果为成功时通过蓝牙GATT读取所述热点端的蓝牙MAC地址;
[54]
第二建立单元,用于根据所述MAC地址与所述热点端建立蓝牙PAN连接。
[55]
所述接入网络的系统,其中,所述读取单元,还用于,当密码错误时,断开蓝牙GATT连接,并提示用户密码错误。

有益效果

[56]
有益效果:与现有技术相比,本发明提供了一种网络共享方法、接入网络方法及系统,所述网络共享方法包括:接收到创建WiFi热点操作时,检测终端设备是否开启WiFi功能;检测到开启WiFi功能时,通过蓝牙GATT技术创建配置预设热点名称及密码的虚拟WiFi热点;通过所述虚拟WiFi热点与接入端建立蓝牙PAN连接,以实现网络共享。本发明通过在开启WiFi功能时,通过蓝牙GATT技术创建虚拟WiFi热点,并通过所述模拟WiFi通过蓝牙PAN与接入端建立连接,将网络共享给接入端,解决了现有无线方案中存在的WiFi功能与WiFi热点相斥的问题,满足用户对网络共享的需求。

附图说明

[57]
图1为本发明提供的网络共享方法较佳实施的流程图。
[58]
图2为本发明提供的网络共享方法中智能终端建立虚拟WiFi热点的原理图。
[59]
图3为本发明提供的网络共享方法中建立蓝牙PAN连接的流程图。
[60]
图4为本发明提供的网络共享方法中密码验证的流程图。
[61]
图5为本发明提供的网络共享系统的结构原理图。
[62]
图6为本发明提供的接入网络的方法较佳实施的流程图。
[63]
图7为本发明提供的接入网络的方法一实施例的流程图。
[64]
图8为本发明提供的接入网络的系统的结构原理图。
[65]
图9为本发明提供的接入网络的系统的结构原理图。

本发明的最佳实施方式

[66]
本发明提供一种网络共享方法、接入网络方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[67]
本发明中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,模块”、“部件”或“单元”可以混合地使用。
[68]
终端设备可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
[69]
下面结合附图,通过对实施例的描述,对发明内容作进一步说明。
[70]
请参照图1,图1为本发明提供的网络共享方法的较佳实施例的流程图。所述方法包括:
[71]
S100、接收到创建WiFi热点操作时,检测终端设备是否开启WiFi功能。
[72]
具体地,所述接收到创建WiFi热点操作指的是接收到用户通过终端设备的设置界面开启热点功能的操作。也就是说,接收到用户创建WiFi热点网络的操作,其中,所述WiFi热点网络是为了向其他终端共享网络而建立的网络。
[73]
所述检测终端设备是否开启WiFi功能指的是判断所述终端设备是否开启wifi功能,即判断所述终端设备是否通过连接路由器连接无线网络。在实际应用中,所述检测终端设备是否开启WiFi功能可以通过检测终端设备自带的WiFi功能键的状态而实现,当WiFi功能键处于开启状态时,判定终端设备开启WiFi功能;当WiFi功能键处于关闭状态时,判定终端设备未开启WiFi功能。
[74]
示例性的,所述接收到创建WiFi热点操作时,检测终端设备是否开启WiFi功能具体可以包括:
[75]
S101、接收到用户创建WiFi热点操作时,提示用户输入所述WiFi热点的名称以及密码;
[76]
S102、接收用户输入的WiFi热点的名称以及密码,并存储为预设热点名称及密码;
[77]
S103、检测终端设备是否开启WiFi功能。
[78]
具体地,终端设备的设置界面内预设配置WiFi热点的配置项,用户通过控制所述配置项的开启/关闭来控制WiFi热点的启动/关闭。这里所述的接收到用户创建WiFi热点操作指的是用户通过所述配置项控制WiFi热点功能开启。当WiFi热点功能开启时,终端设备会提示用户输入预创建的WiFi热点的名称和密码。在实际应用中,所述WiFi热点的名称和密码也可以在开启配置项时系统自动生成的,还可以是上次开启WiFi热点时采用的名称和密码。
[79]
进一步,为了便于用户简便用户创建WiFi热点的操作,在接收到用户输入的WiFi热点的名称和密码时,将所述名称和名字作为常用项保存于终端设备内,以供用户再次创建WiFi热点时使用。当然,在接收到用户输入的WiFi热点的名称和密码时,还可以判断终端设备内是否已经保存WiFi热点的名称和密码,若已保存,则采用当前接收到名称和密码替换已保存的WiFi热点的名称和密码。这样可以保证存储的WiFi热点的名称和密码的最新性,给用户的使用带来方便。
[80]
S200、检测到开启WiFi功能时,通过蓝牙GATT技术创建配置预设热点名称及密码的虚拟WiFi热点。
[81]
具体地,所述蓝牙GATT(Generic Attribute Protocol)为蓝牙通用属性协议,其定义了一种多层的数据结构,用于用来实现蓝牙低功耗设备之间的通信。所述蓝牙GATT包括两个角色,分别为服务端server和接入端client。所述server可以创建多个服务service,service可以包含多个特征characteristic,所述characteristic可以包括每个特征包含属性(properties)和值(value),也可以包括多个描述description。在本实施例中,所述characteristic包括多个描述description。server和client之间通过读/写server的characteristic和description实现数据的交互。
[82]
在本实施例中,如图2所示,所述终端设备(记为热点端Hotspot)为server端,其利用GATT技术生成若干虚拟WiFi热点service,可以分别记为,service1、service2等。每个service包含Characteristic(密码)、Characteristic(密码正确性标志)以及Characteristic(已连接设备数)。所述需连接所述虚拟WiFi热点的其他设备作为接入端client端,其利用GATT技术实现低功耗蓝牙信号的过滤与处理搜索到虚拟WiFi热点。所述虚拟WiFi热点拥有预设热点名称和密码。也就是说,所述虚拟WiFi热点与当未启动WiFi功能时创建的WiFi热点具有相同的名称和密码。所述预设热点名称和密码为接收到创建WiFi热点时设置的热点名称和密码。例如,名称为admin,密码为123等。
[83]
S300、通过所述虚拟WiFi热点与接入端建立蓝牙PAN连接,以实现网络共享。
[84]
具体地,所述蓝牙PAN为用于通过蓝牙实现个人局域网的技术。在建立蓝牙PAN连接时,通过包括两个角色,分别为NAP和PANU,其中,所述NAP是热点端,所述PANU是热点接入端。在本实施例中,所述NAP(热点端)为所述终端设备,所述PANU(热点接入端)为要接入所述终端设备的WiFi热点的其他设备,即所述接入端。
[85]
示例性的,如图3所示,所述通过所述虚拟WiFi热点与接入端建立蓝牙PAN连接,以实现网络共享具体包括:
[86]
S301、接收接入端通过所述虚拟WiFi热点向所述终端设备发送建立蓝牙PAN连接的连接请求,其中,所述连接请求携带所述接入端的蓝牙MAC地址;
[87]
S302、解析所述连接请求,并验证所述蓝牙MAC地址的合法性;
[88]
S303、当所述蓝牙MAC地址合法时,允许所述连接请求并与所述接入端建立蓝牙PAN连接,以实现网络共享;
[89]
S304、当所述蓝牙MAC地址不合法时,禁止所述连接请求并断开与所述接入端的蓝牙GATT连接。
[90]
具体的来说,在所述步骤S301中,所述接入请求是所述接入端通过反射机制向所述终端设备发送的接入请求,并且接入端向所述终端设备发送其自身的MAC地址,以使得所述终端设备可以通过所述MAC地址与接入端进行验证。
[91]
在所述步骤S302中,所述验证所述蓝牙MAC地址的合法性指的是将在其预设的蓝牙MAC地址列表内查询所述MAC地址,如果查询到,则验证成功;如果未查询到,则验证失败。所述预设的蓝牙MAC地址列表用于存储终端设备信任的其他设备的MAC地址。通过对蓝牙MAC地址的验证,可以避免黑客通过盗用密码的方式获取WiFi热点的密码,恶意浪费终端设备的流量,给终端设的使用者带来财产损失。从而,进一步增强了网络共享的安全性。
[92]
在所述步骤S303中,当所述蓝牙MAC地址合法时说明所述接入端可以与所述终端设备建立蓝牙PAN连接,通过虚拟WiFi热点共享终端设备的网络。
[93]
在所述步骤S304中,当所述蓝牙MAC地址不合法时说明所述接入端不可以与所述终端设备建立蓝牙PAN连接,此时断开接入端与终端设备的蓝牙GATT连接,避免终端设备资源的浪费。
[94]
在本实施例中,由于所述虚拟WiFi热点配置密码,从而在接入端与终端设备建立蓝牙PAN连接之前还需包括一个密码验证的过程。所述密码验证过程设置与所述接收接入端通过所述虚拟WiFi热点向所述终端设备发送建立蓝牙PAN连接的接入请求之前,其具体包括:
[95]
接收接入端通过所述虚拟WiFi热点向终端设备发送的接入请求,其中,所述接入请求携带第一密码;
[96]
根据所述接入请求与接入端建立蓝牙GATT连接,读取并验证所述第一密码的合法性;
[97]
当验证成功时,所述终端设备将所述接入端的蓝牙MAC地址设置为合法地址,并将验证成功的信息反馈至接入端。
[98]
本实施例中,当接入端要通过WiFi热点与终端设备连接时,其首先向终端设备发送建立蓝牙GATT的连接的请求,然后读取接入请求携带第一密码,即读取characteristic(密码),将读取的密码与其预设的密码进行比对,如果密码正确,将该接入端标记为安全设备。也就是,将所述接入端的蓝牙MAC地址保存至预设的蓝牙MAC地址列表内,以用于后续蓝牙PAN连接时,对接入端的蓝牙MAC地址进行合法性验证。本实施通过对接入端携带的密码的验证,加强了对接入端的限制,从而提高了网络共享的安全性。
[99]
在本发明的一个实施例中,如图4所示,所述密码验证过程还具体可以包括:
[100]
H10、接收所述接入端的接入请求,其中,所述接入请求携带第一密码;
[101]
H20、判断其自身释放的WiFi热点的类型,当为WiFi热点时,执行步骤H30,当为虚拟WiFi热点时,执行步骤H40;
[102]
H30、通过WiFi热点建立连接,结束操作。
[103]
H40、与所述接入端连接蓝牙GATT连接;
[104]
H50、读取characteristic(密码),其中,所述characteristic(密码)写入所述接入请求携带第一密码;
[105]
H60、验证所述第一密码的正确性,当错误时,执行步骤H70,当正确时,执行步骤H90;
[106]
H70、清空所述characteristic(密码),并将密码错误信息写入characteristic(密码)以告知接入端密码错误;
[107]
H80、断开所述蓝牙GATT连接;
[108]
H90、清空所述characteristic(密码),并将密码正确信息写入characteristic(密码)以告知接入端密码正确;
[109]
H100、将所述接入端的蓝牙MAC地址保存为可靠地址。
[110]
值得说明的,在所述步骤H30中,当为WiFi热点时,采用现有的WiFi热点处理方法与接入端建立,以实现网络共享,对应系统对WiFi热点的连接其采用本领域现有技术,在这里就不再赘述。
[111]
在发明的一个实施中,所述网络共享方法还可以包括:
[112]
S400、检测到未开启WiFi功能时,创建配置所述预设热点名称及密码的WiFi热点,以实现网络共享;
[113]
S500、通过所述WiFi热点与接入端建立连接,以实现网络共享。
[114]
具体地,当检测到未开启WiFi功能时,采用现有的无线方案,直接创建配置所述预设热点名称及密码的WiFi热点,通过所述WiFi热点实现网络共享。
[115]
本发明还提供了一种网络共享系统,如图5所示,其包括:
[116]
检测模块101,用于当接收到创建热点操作时,检测终端设备是否开启WiFi功能;
[117]
创建模块102,用于检测到开启WiFi功能时,通过蓝牙GATT创建配置预设热点名称及密码的模拟WiFi热点;
[118]
第一建立模块103,用于通过所述模拟WiFi热点与接入端建立蓝牙PAN连接,以实现网络共享。
[119]
所述网络共享系统,其中,所述第一建立模块具体包括:
[120]
第一接收单元,用于接收接入端通过所述虚拟WiFi热点向所述终端设备发送建立蓝牙PAN连接的连接请求,其中,所述连接请求携带所述接入端的蓝牙MAC地址;
[121]
第一验证单元,用于解析所述连接请求,并验证所述蓝牙MAC地址的合法性;
[122]
第一建立单元,用于当所述蓝牙MAC地址合法时,允许所述连接请求并与所述接入端建立蓝牙PAN连接,以实现网络共享。
[123]
所述网络共享系统,其中,所述第一建立模块还包括:
[124]
第二接收单元,用于接收接入端通过所述虚拟WiFi热点向终端设备发送的接入请求,其中,所述接入请求携带第一密码;
[125]
第二验证单元,用于根据所述接入请求与接入端建立蓝牙GATT连接,读取并验证所述第一密码的合法性;
[126]
反馈单元,用于当验证成功时,所述终端设备将所述接入端的蓝牙MAC地址设置为合法地址,并将验证成功的信息反馈至接入端。
[127]
本发明还提供了一种接入网络的方法,如图6所示,其包括:
[128]
M100、当搜索到WiFi热点时,判断所述WiFi热点的类型,其中,WiFi热点类型包括虚拟WiFi热点和WiFi热点;
[129]
M200、当网络热点为虚拟WiFi热点时,与所述WiFi热点对应的热点端建立蓝牙GATT;
[130]
M300、通过所述蓝牙GATT连接获取热点端的第二蓝牙MAC地址,并通过所述MAC地址与所述热点端建立蓝牙PAN连接。
[131]
本实施例在所搜到虚拟WiFi热点时,通过蓝牙GATT技术与热点的共享端(记为热点端)建立蓝牙GATT连接,并通过所述蓝牙GATT连接获取热点端的蓝牙MAC地址,通过所述蓝牙MAC地址与热点端建立蓝牙PAN连接,实现了接入网络。
[132]
具体的来说,在所述步骤M100中,所述搜索到WiFi热点指的在终端设备可连接的范围内搜索到的WiFi热点。在搜索到WiFi热点时,还需要判断所述WiFi热点的可用性。在实际应用中,在终端设备可连接的范围内可用搜索到多个WiFi热点,可以将所述搜索到的WiFi热点存储于WiFi热点内,并将所述WiFi热点列表显示给用户,根据用户选择确定需要连接的WiFi热点。当然,也可以在搜索到WiFi热点后,判断每个WiFi热点的使用次数,根据所述使用次数确定需连接的WiFi热点。
[133]
进一步,在搜索到WiFi热点时还可以对所述WiFi热点的可用性进行判断,对应不可用的WiFi热点可以直接过滤,这样可以提高WiFi热点连接的成功率。所述当搜索到WiFi热点时,判断所述WiFi热点的类型,其中,WiFi热点类型包括虚拟WiFi热点和WiFi热点具体可以包括:
[134]
M101、搜索终端设备可连接范围内的所有热点,并分别判断所述热点是否为wifi热点,其中,所述WiFi热点包括虚拟WiFi热点和WiFi热点;
[135]
M102、将所有为WiFi热点的热点添加至热点列表,并从所述热点列表内WiFi热点的类型,其中,WiFi热点类型包括虚拟WiFi热点和WiFi热点;
[136]
M103、将屏蔽所有不为WiFi热点的无线信号。
[137]
在所述步骤M200中,所述与所述WiFi热点对应的热点端建立蓝牙GATT之前所述终端设备需要接收用户输入的第二密码,以使得在终端设备与热点端建立GATT连接时将第二密码写入热点端的虚拟热点的characteristic(密码)的选项内。
[138]
在所述步骤M300中,所述通过所述蓝牙GATT连接获取热点端的第二蓝牙MAC地址,并通过所述MAC地址与所述热点端建立蓝牙PAN连接具体可以包括:
[139]
M301、将预设第二密码通过蓝牙GATT发送至所述虚拟WiFi热点对应的热点端。
[140]
具体地,所述将预设第二密码通过蓝牙GATT发送至所述虚拟WiFi热点对应的热点端指的是将第二密码写入热点端的虚拟热点的characteristic(密码)的选项内讲,以使得热点端可以读取所述第二密码,并对第二密码进行验证;如果密码正确,热点端会在characteristic(密码正确性标志位)写入0x01,不正确则写入0x02。
[141]
M302、通过读取蓝牙GATT所述第二密码的验证结果,并当所述结果为成功时通过蓝牙GATT读取所述热点端的蓝牙MAC地址。
[142]
具体地,终端设备读取characteristic(密码正确性标志位),如果得到0x01(表示密码正确),则读取热点端的蓝牙MAC地址。在实际应用中,可以通过BluetoothAdapter. getProfileProxy(context, BluetoothProfile.ServiceListener, BluetoothProfile_PAN)方法获取蓝牙PAN的proxy。也可以通过这个ServiceListener中的如下两个方法获取蓝牙PAN的proxy,其分别为:
[143]
public void onServiceDisconnected(int profile);和
[144]
public void onServiceConnected(int profile,BluetoothProfile proxy)
[145]
当在onServiceConnected这个方法中,可以通过JAVA的反射机制得到蓝牙PAN相关的方法。
[146]
值得说明,所述读取热点端的蓝牙MAC地址的方法为现有技术,这里不做详细说明。
[147]
M303、根据所述MAC地址与所述热点端建立蓝牙PAN连接。
[148]
具体地,在获取到MAC地址之后,根据所述MAC地址与热点端建立连接。当然,如果得到0x02(密码不正确),给出提示密码错误提示,并然后断开GATT连接。在本实施例中,采用"connect","disconnect"这两个方法,通过"connect"可以与目标设备建立PAN连接,通过"disconnect"可以与目标设备断开PAN连接。
[149]
在本发明的一个实施例中,如图7所示,所述接入网络的方法具体可以包括:
[150]
L10、点击预设热点列表,选择待连接的热点;
[151]
L20、判断所述WiFi热点的类型,若为WiFi热点,则执行步骤L30,若为虚拟WiFi热点,则执行步骤L40;
[152]
L30、通过系统与所述热点建立连接;
[153]
L40、接收用户输入的第二密码;
[154]
L50、与所述热点对应的热点端建立GATT连接;
[155]
L60、将所述第二密码写入所述热点的characteristic(密码)项;
[156]
L70、读取所述热点的characteristic(密码正确性标识)项;
[157]
L80、根据读取结果判断第二密码的正确性,当密码错误时,执行步骤L90,当密码正确时,执行步骤L100;
[158]
L90、断开蓝牙GATT连接,并提示用户密码错误;
[159]
L100、通过所述蓝牙GATT连接获取热点端的蓝牙MAC地址;
[160]
L110、根据所述热点端的蓝牙MAC地址与所述热点端建立蓝牙PAN连接。
[161]
本发明还提供了一种接入网络的系统,如图8所示,其包括:
[162]
判断模块201,用于当搜索到WiFi热点时,判断所述WiFi热点的类型,其中,WiFi热点类型包括虚拟WiFi热点和WiFi热点;
[163]
第二建立模块202,用于当网络热点为虚拟WiFi热点时,与所述WiFi热点对应的热点端建立蓝牙GATT;
[164]
第三建立模块203,用于通过所述蓝牙GATT连接获取热点端的第二蓝牙MAC地址,并通过所述MAC地址与所述热点端建立蓝牙PAN连接。
[165]
所述接入网络的系统,其中,所述第三建立模块具体包括:
[166]
发送单元,用于将预设第二密码通过蓝牙GATT发送至所述虚拟WiFi热点对应的热点端;
[167]
读取单元,用于通过读取蓝牙GATT所述第二密码的验证结果,并当所述结果为成功时通过蓝牙GATT读取所述热点端的蓝牙MAC地址;
[168]
第二建立单元,用于根据所述MAC地址与所述热点端建立蓝牙PAN连接。
[169]
为了进一步说明本发明提供的网络共享方法和接入方法,下面给出关键技术的伪代码实现以便于理解。
[170]
所述关键技术的伪代码实现具体可以如下:
[171]
第一、建立wifi热点
[172]
public Boolean createHotspot(String hotspotName,String hotspotPsd,WifiUtil wifiUtil){
[173]
if(wifi功能未打开){
[174]
try {
[175]
//设置wifi热点
[176]
WifiConfiguration wifiConfiguration = new WifiConfiguration();
[177]
wifiConfiguration.SSID = hotspotName;//配置热点名
[178]
wifiConfiguration.preSharedKey = hotspotPsd;//配置热点密码
[179]
Method method = WifiManager.class.getMethod("setWifiApEnabled"
[180]
,WifiConfiguration.class,Boolean.TYPE);//得到打开热点的方法
[181]
return (Boolean)method.invoke(mWifiManager,wifiConfiguration,true); //打开热点
[182]
} catch (Exception e) {
[183]
e.printStackTrace();
[184]
return false;
[185]
}
[186]
}else{
[187]
//设置BT GATT热点
[188]
Boolean result = btGattServer.createBtGattServer(hotspotName,hotspotPsd);
[189]
if(!result){
[190]
return false;
[191]
}
[192]
}
[193]
return true;
[194]
}
[195]
第二、GATT模拟热点信号的扫描和过滤
[196]
@Override
[197]
public void scanLeDevice(boolean enable) {
[198]
if (enable) {
[199]
// Stops scanning after a pre-defined scan period.
[200]
mHandler.postDelayed(new Runnable() {
[201]
@Override
[202]
public void run() {
[203]
mScanning = false;
[204]
mBluetoothAdapter.stopLeScan(mLeScanCallback);
[205]
invalidateOptionsMenu();
[206]
}
[207]
}, SCAN_PERIOD); // SCAN_PERIOD为扫描时间
[208]
mScanning = true;
[209]
UUID[] serviceUuids = new UUID[1];
[210]
//选择拥有SERVER_SERVICE_HOTSPOT_UUID的设备,这里的UUID就是模拟热点的标志service
[211]
serviceUuids[0] = SERVER_SERVICE_HOTSPOT_UUID;
[212]
mBluetoothAdapter.startLeScan(serviceUuids ,mLeScanCallback);
[213]
} else {
[214]
mScanning = false;
[215]
mBluetoothAdapter.stopLeScan(mLeScanCallback);
[216]
}
[217]
}
[218]
第三、BT PAN连接的反射实现
[219]
private boolean switchPAN(final boolean connect,BluetoothDevice device) {
[220]
final Context context = getApplicationContext();
[221]
if (device == null)
[222]
return false;
[223]
BluetoothAdapter mAdp = BluetoothAdapter.getDefaultAdapter();//得到蓝牙适配器
[224]
//得到蓝牙的PAN profile Proxy
[225]
Boolean result = mAdp.getProfileProxy(context,
[226]
new BluetoothProfile.ServiceListener() {
[227]
@Override
[228]
public void onServiceDisconnected(int profile) {
[229]
}
[230]
@Override
[231]
public void onServiceConnected(int profile,
[232]
BluetoothProfile proxy) {
[233]
final Method[] methods = methodsOfBluetoothPAN(proxy); if (methods == null)
[234]
return;
[235]
//这里是调用函数实现反射,连接或者断开BT PAN的地方
[236]
callMethodOfBluetoothPAN(proxy,
[237]
methods[connect ? 0 : 1], device);
[238]
// callMethodOfBluetoothPANBoolean(proxy, methods[3], true);
[239]
}
[240]
}, BluetoothProfile_PAN);
[241]
return true;
[242]
}
[243]
//通过反射得到蓝牙PAN profile 的四个方法
[244]
private static Method[] methodsOfBluetoothPAN(BluetoothProfile btpan) {
[245]
final Method[] methods = new Method[4];
[246]
final Class[] params = { BluetoothDevice.class };
[247]
final Class[] stateParams = {Boolean.TYPE};
[248]
try {
[249]
methods[0] = btpan.getClass().getMethod("connect", params);
[250]
methods[1] = btpan.getClass().getMethod("disconnect", params);
[251]
methods[2] = btpan.getClass().getMethod("getConnectionState",
[252]
params);
[253]
methods[3] = btpan.getClass().getMethod("isTetheringOn");
[254]
} catch (NoSuchMethodException e) {
[255]
Log.i("btpanswich", "" + e);
[256]
return null;
[257]
}
[258]
return methods;
[259]
}
[260]
//反射得到的方法的调用方法,里面包含了出线异常的捕获
[261]
private static Object callMethodOfBluetoothPAN(
[262]
final BluetoothProfile proxy, final Method method,
[263]
final BluetoothDevice param) {
[264]
try {
[265]
return method.invoke(proxy, new Object[] { param });
[266]
} catch (IllegalArgumentException e) {
[267]
Log.i(TAG, "" + e);
[268]
return null;
[269]
} catch (InvocationTargetException e) {
[270]
Log.i(TAG, "" + e);
[271]
return null;
[272]
} catch (IllegalAccessException e) {
[273]
Log.i(TAG, "" + e);
[274]
return null;
[275]
}
[276]
}。
[277]
上述网络共享方法、接入网络系统以及接入网络的系统的各个模块在上述方法中已经详细说明,在这里就不再一一陈述。
[278]
在本发明所提供的实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[279]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[280]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[281]
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。例如,如图9所示,在本发明实施例中,所述移动终端内实现数据安全删除的系统1包括处理器10和存储器11,所述存储器10与所述处理器11连接,所述程序被存储于所述存储器11中,并配置为由所述处理器10执行。
[282]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

权利要求书

[权利要求 1]
一种网络共享方法,其中,其包括: 当接收到创建热点操作时,检测终端设备是否开启WiFi功能; 检测到开启WiFi功能时,通过蓝牙GATT创建配置预设热点名称及密码的模拟WiFi热点; 通过所述模拟WiFi热点与接入端建立蓝牙PAN连接,以实现网络共享。
[权利要求 2]
根据权利要求1所述网络共享方法,其中,所述通过所述模拟WiFi热点与接入端建立蓝牙PAN连接,以实现网络共享包括: 接收接入端通过所述虚拟WiFi热点向所述终端设备发送建立蓝牙PAN连接的连接请求,其中,所述连接请求携带所述接入端的蓝牙MAC地址; 解析所述连接请求,并验证所述蓝牙MAC地址的合法性; 当所述蓝牙MAC地址合法时,允许所述连接请求并与所述接入端建立蓝牙PAN连接,以实现网络共享。
[权利要求 3]
根据权利要求2所述网络共享方法,其中,所述接收接入端通过所述虚拟WiFi热点向所述终端设备发送建立蓝牙PAN连接的连接请求,其中,所述连接请求携带所述接入端的蓝牙MAC地址之前还包括: 接收接入端通过所述虚拟WiFi热点向终端设备发送的接入请求,其中,所述接入请求携带第一密码; 根据所述接入请求与接入端建立蓝牙GATT连接,读取并验证所述第一密码的合法性; 当验证成功时,所述终端设备将所述接入端的蓝牙MAC地址设置为合法地址,并将验证成功的信息反馈至接入端。
[权利要求 4]
根据权利要求3所述网络共享方法,其中,根据所述接入请求与接入端建立蓝牙GATT连接,读取并验证所述第一密码的合法性的步骤之后,还包括: 当验证失败时,清空所述第一密码,并将所述第一密码正确信息写入所述第一密码以告知接入端密码错误。
[权利要求 5]
根据权利要求1所述网络共享方法,其中,所述当接收到创建热点操作时,检测终端设备是否开启WiFi功能包括: 接收到用户创建WiFi热点操作时,提示用户输入所述WiFi热点的名称以及密码; 接收用户输入的WiFi热点的名称以及密码,并存储为预设热点名称及密码; 检测终端设备是否开启WiFi功能。
[权利要求 6]
一种网络共享系统,其中,其包括: 一个或多个处理器; 存储器;以及 一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行;所述一个或多个应用程序, 检测模块,用于当接收到创建热点操作时,检测终端设备是否开启WiFi功能; 创建模块,用于检测到开启WiFi功能时,通过蓝牙GATT创建配置预设热点名称及密码的模拟WiFi热点; 第一建立模块,用于通过所述模拟WiFi热点与接入端建立蓝牙PAN连接,以实现网络共享。
[权利要求 7]
根据权利要求6所述网络共享系统,其中,所述第一建立模块包括: 第一接收单元,用于接收接入端通过所述虚拟WiFi热点向所述终端设备发送建立蓝牙PAN连接的连接请求,其中,所述连接请求携带所述接入端的蓝牙MAC地址; 第一验证单元,用于解析所述连接请求,并验证所述蓝牙MAC地址的合法性; 第一建立单元,用于当所述蓝牙MAC地址合法时,允许所述连接请求并与所述接入端建立蓝牙PAN连接,以实现网络共享。
[权利要求 8]
根据权利要求6所述网络共享系统,其中,所述第一建立模块还包括: 第二接收单元,用于接收接入端通过所述虚拟WiFi热点向终端设备发送的接入请求,其中,所述接入请求携带第一密码; 第二验证单元,用于根据所述接入请求与接入端建立蓝牙GATT连接,读取并验证所述第一密码的合法性; 反馈单元,用于当验证成功时,所述终端设备将所述接入端的蓝牙MAC地址设置为合法地址,并将验证成功的信息反馈至接入端。
[权利要求 9]
根据权利要求8所述网络共享系统,其中,所述反馈单元,还用于: 当验证失败时,清空所述第一密码,并将所述第一密码正确信息写入所述第一密码以告知接入端密码错误。
[权利要求 10]
根据权利要求6所述网络共享系统,其中,所述检测模块,还用于: 接收到用户创建WiFi热点操作时,提示用户输入所述WiFi热点的名称以及密码; 接收用户输入的WiFi热点的名称以及密码,并存储为预设热点名称及密码; 检测终端设备是否开启WiFi功能。
[权利要求 11]
一种接入网络的系统,其中,其包括: 一个或多个处理器; 存储器;以及 一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行;所述一个或多个应用程序包括: 判断模块,用于当搜索到WiFi热点时,判断所述WiFi热点的类型,其中,WiFi热点类型包括虚拟WiFi热点和WiFi热点; 第二建立模块,用于当网络热点为虚拟WiFi热点时,与所述WiFi热点对应的热点端建立蓝牙GATT; 第三建立模块,用于通过所述蓝牙GATT连接获取热点端的第二蓝牙MAC地址,并通过所述MAC地址与所述热点端建立蓝牙PAN连接。
[权利要求 12]
根据权利要求11所述接入网络的系统,其中,所述第三建立模块包括: 发送单元,用于将预设第二密码通过蓝牙GATT发送至所述虚拟WiFi热点对应的热点端; 读取单元,用于通过蓝牙GATT读取所述第二密码的验证结果,并当所述结果为成功时通过蓝牙GATT读取所述热点端的蓝牙MAC地址; 第二建立单元,用于根据所述MAC地址与所述热点端建立蓝牙PAN连接。
[权利要求 13]
根据权利要求12所述接入网络的系统,其中,所述读取单元,还用于,当密码错误时,断开蓝牙GATT连接,并提示用户密码错误。

附图