CN116055630A - 一种虚拟卡的弹出方法、电子设备及存储介质 - Google Patents
一种虚拟卡的弹出方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116055630A CN116055630A CN202210603077.2A CN202210603077A CN116055630A CN 116055630 A CN116055630 A CN 116055630A CN 202210603077 A CN202210603077 A CN 202210603077A CN 116055630 A CN116055630 A CN 116055630A
- Authority
- CN
- China
- Prior art keywords
- information
- fence
- electronic equipment
- electronic device
- flp
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72457—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to geographic location
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/021—Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0251—Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Abstract
本申请提供一种虚拟卡的弹出方法、电子设备及存储介质,涉及电子技术领域,用于解决刷卡过程较为繁琐,耗时较长的问题;该方法应用于电子设备中,该电子设备中保存有第一场所提供的第一Wi‑Fi围栏的相关信息,第一Wi‑Fi围栏的相关信息包括电子设备使用第一虚拟卡完成数据交互后采集的,第一场所提供的多组第一Wi‑Fi信息的BSSID和RSSI;该方法通过电子设备周期性采集周围的Wi‑Fi信息,并从采集的Wi‑Fi信息中选择RSSI大于预设RSSI的多组第二Wi‑Fi信息;后续,若电子设备检测到多组第二Wi‑Fi信息中的至少N个BSSID与多组第一Wi‑Fi信息中的BSSID相同,电子设备确定电子设备进入第一Wi‑Fi围栏,并自动弹出第一虚拟卡。
Description
技术领域
本申请涉及电子技术领域,尤其涉及一种虚拟卡的弹出方法、电子设备及存储介质。
背景技术
随着移动通讯技术和物联网通讯技术的飞速发展,电子设备在社会生活各个方面扮演着越来越重要的角色。例如,现有的电子设备中可以配置多张虚拟卡,如公共交通卡,银行卡,门禁卡等,从而可以实现使用电子设备即可完成公交车刷卡,交易支付以及门禁解锁等多种功能。
但是,在用户面对不同的刷卡需求时,用户需要手动选择虚拟卡,导致刷卡过程较为繁琐,耗时较长。
发明内容
本申请实施例提供一种虚拟卡的弹出方法、电子设备及存储介质,用于解决刷卡过程较为繁琐,耗时较长的问题。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供了一种虚拟卡的弹出方法,应用于电子设备中,电子设备中保存有第一场所提供的第一Wi-Fi围栏的相关信息,第一Wi-Fi围栏的相关信息包括多组第一Wi-Fi信息,每组第一Wi-Fi信息包括一个Wi-Fi网络的基本服务集标识BSSID和无线接收信号强度RSSI;多组第一Wi-Fi信息是电子设备使用第一虚拟卡完成数据交互后采集的;该方法包括:电子设备周期性采集周围的Wi-Fi信息;电子设备从采集的Wi-Fi信息中选择出多组第二Wi-Fi信息;每组第二Wi-Fi信息包括一个Wi-Fi网络的BSSID和RSSI,且第二Wi-Fi信息中的RSSI大于预设RSSI;若电子设备根据多组第二Wi-Fi信息确定电子设备进入第一Wi-Fi围栏,则自动弹出第一虚拟卡;其中,电子设备进入第一Wi-Fi围栏,包括:多组第二Wi-Fi信息中的至少N个BSSID与多组第一Wi-Fi信息中的BSSID相同;N是正整数。
基于第一方面,首先,电子设备在使用第一虚拟卡完成数据交互后采集第一场所提供的多个Wi-Fi网络的BSSID和RSSI,得到多组第一Wi-Fi信息,并将多组第一Wi-Fi信息保存在电子设备中作为第一Wi-Fi围栏的相关信息。之后,电子设备可周期性采集周围的Wi-Fi信息,若电子设备根据周期性采集到的Wi-Fi信息确定电子设备进入第一Wi-Fi围栏,则电子设备自动弹出第一虚拟卡,以方便用户使用该虚拟卡进行刷卡,从而简化了用户刷卡的操作,减少了用户刷卡的时长。
在第一方面的一种可能的设计中,在若电子设备根据多组第二Wi-Fi信息确定电子设备进入第一Wi-Fi围栏,则自动弹出所述第一虚拟卡之后,该方法还包括:电子设备从采集的Wi-Fi信息中选择出多组第三Wi-Fi信息;每组第三Wi-Fi信息包括一个Wi-Fi网络的BSSID和RSSI,且第三Wi-Fi信息中的RSSI大于预设RSSI;若电子设备根据多组第三Wi-Fi信息确定电子设备离开第一Wi-Fi围栏,则收回弹出的所述第一虚拟卡;其中,电子设备离开第一Wi-Fi围栏,包括:多组第三Wi-Fi信息中的至少M个BSSID与多组第一Wi-Fi信息中的BSSID不同;M是正整数。
在该设计方式中,在电子设备自动弹出第一虚拟卡之后,若电子设备可以根据周期性采集到的多组第三Wi-Fi信息确定电子设备离开第一Wi-Fi围栏,则电子设备可收回弹出的第一虚拟卡,进一步简化了用户刷卡的操作,较少了用户刷卡的时长。
在第一方面的一种可能的设计中,该方法还包括:电子设备使用第一虚拟卡完成数据交互后,电子设备将当前采集的多组第四Wi-Fi信息更新为第一Wi-Fi围栏的相关信息;其中,每组第四Wi-Fi信息包括一个Wi-Fi网络的BSSID和RSSI,且第四Wi-Fi信息中的RSSI大于预设RSSI。
在该设计方式中,由于电子设备可以在使用第一虚拟卡完成数据交互后,将当前采集的多组第四Wi-Fi信息更新为第一Wi-Fi围栏的相关信息,即电子设备可以根据当前采集到的Wi-Fi信息更新第一Wi-Fi围栏的相关信息,提高了第一Wi-Fi围栏的相关信息准确性,有利于后续在电子设备确定电子设备是否进入第一Wi-Fi围栏时的准确度。
在第一方面的一种可能的设计中,该方法还包括:若电子设备的实时位置与第一场所之间的距离大于第一距离阈值,电子设备删除第一Wi-Fi围栏的相关信息。
在该设计方式中,由于在电子设备的实时位置与第一场所之间的距离大于第一距离阈值的情况下,电子设备删除第一Wi-Fi围栏的相关信息,这样,电子设备可以在远离第一场所的情况下,不去确定电子设备是否进入第一Wi-Fi围栏,降低了设备功耗。
在第一方面的一种可能的设计中,该方法还包括:若电子设备处于静止状态,且电子设备处于静止状态的时长大于或等于第一时长,电子设备停止采集周围的Wi-Fi信息;若电子设备从静止状态切换为运动状态,且电子设备处于运动状态下的直线位移大于第二距离阈值,电子设备恢复周期性采集周围的Wi-Fi信息。
在该设计方式中,当电子设备长时间处于静止状态(如电子设备所处的场景为夜晚)时,电子设备停止采集周围的Wi-Fi信息,有利于降低设备功耗;当电子设备从静止状态切换为运动状态,且电子设备处于运动状态下的直线位移大于第二距离阈值(如用户手持电子设备乘车)时,电子设备恢复周期性采集周围的Wi-Fi信息,有利于提高用户体验。
在第一方面的一种可能的设计中,每组第一Wi-Fi信息包括一个Wi-Fi网络的SSID;每组第二Wi-Fi信息还包括一个Wi-Fi网络的SSID;电子设备根据多组第二Wi-Fi信息确定电子设备进入所述第一Wi-Fi围栏,包括:电子设备计算多组第二Wi-Fi信息与多组第一Wi-Fi信息的相似度;若相似度大于预设相似度阈值,则确定电子设备进入第一Wi-Fi围栏。
在该设计方式中,电子设备可以通过计算多组第二Wi-Fi信息与多组第一Wi-Fi信息的相似度,相似度越大,说明多组第二Wi-Fi信息与多组第一Wi-Fi信息越匹配,这样一来,通过相似度确定电子设备进入第一Wi-Fi围栏,有利于提高确定电子设备进入第一Wi-Fi围栏的准确性。
在第一方面的一种可能的设计中,第一Wi-Fi围栏的相关信息保存在所述电子设备的上层应用与驱动层的共享内存区域中;电子设备使用第一虚拟卡完成数据交互后,电子设备将当前采集的多组第四Wi-Fi信息更新为第一Wi-Fi围栏的相关信息,包括:电子设备的上层应用使用第一虚拟卡完成数据交互后,将多组第四Wi-Fi信息通过框架层、硬件抽象层传递至内核层,由内核层将多组第四Wi-Fi信息更新为共享内存区域中的第一Wi-Fi围栏的相关信息。
在该设计方式中,由于第一Wi-Fi围栏的相关信息保存在所述电子设备的上层应用与内核层的共享内存区域中,在电子设备使用第一虚拟卡完成数据交互后,电子设备可以将多组第四Wi-Fi信息通过框架层传递至内核层,由内核层将多组第四Wi-Fi信息更新为共享内存区域中的第一Wi-Fi围栏的相关信息,后续,电子设备的内核层可通过从共享内存区域读取的第一Wi-Fi围栏的相关信息,确定电子设备是否进入第一Wi-Fi围栏,进一步减少了用户刷卡时长。
在第一方面的一种可能的设计中,电子设备包括系统协处理器Sensor Hub;第一Wi-Fi围栏的相关信息保存在电子设备的上层应用与驱动层的共享内存区域中;电子设备根据多组第二Wi-Fi信息确定电子设备进入第一Wi-Fi围栏,包括:电子设备通过SensorHub调用融合定位软件FLP驱动,从共享内存区域中读取第一Wi-Fi围栏的相关信息;电子设备通过Sensor Hub,根据多组第二Wi-Fi信息确定电子设备进入第一Wi-Fi围栏。
在该设计方式中,电子设备通过Sensor Hub调用融合定位软件FLP驱动,从共享内存区域中读取第一Wi-Fi围栏的相关信息,并通过Sensor Hub,根据多组第二Wi-Fi信息确定电子设备进入第一Wi-Fi围栏,即电子设备确定电子设备是否进入第一Wi-Fi围栏是由电子设备的Sensor Hub完成,由于Sensor Hub具有全天候低功耗的Wi-Fi能力,从而可以降低设备功耗。
在第一方面的一种可能的设计中,该方法还包括:电子设备开机时,通过SensorHub创建FLP驱动,并初始化FLP驱动;其中,初始化FLP驱动,包括:注册FLP驱动的驱动信息,获取共享内存地址,获取用于接收Wi-Fi围栏的相关信息的接口参数。
在该设计方式中,电子设备通过Sensor Hub创建所述FLP驱动,并初始化FLP驱动;由于初始化FLP驱动包括:注册FLP驱动的驱动信息,获取共享内存地址,获取用于接收Wi-Fi围栏的相关信息的接口参数,因此电子设备通过Sensor Hub创建FLP驱动之后,可以使电子设备的上层应用与FLP驱动通信。
在第一方面的一种可能的设计中,通过Sensor Hub创建融合定位软件FLP驱动,包括:电子设备通过Sensor Hub,调用用于创建新驱动的平台封装宏,创建FLP驱动;其中,平台封装宏包括待创建驱动的名称FLP、待创建驱动的优先级和待创建驱动的初始化函数。
第二方面,提供一种电子设备,该电子设备具有实现上述第一方面所述的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第三方面,提供一种电子设备,该电子设备包括显示屏、存储器和一个或多个处理器;显示屏、存储器和处理器耦合;存储器用于存储计算机程序代码,计算机程序代码包括计算机指令;存储器中保存有第一场所提供的第一Wi-Fi围栏的相关信息,第一Wi-Fi围栏的相关信息包括多组第一Wi-Fi信息,每组第一Wi-Fi信息包括一个Wi-Fi网络的基本服务集标识BSSID和无线接收信号强度RSSI;多组第一Wi-Fi信息是电子设备使用第一虚拟卡完成数据交互后采集的;当计算机指令被处理器执行时,使得电子设备执行如下步骤:电子设备周期性采集周围的Wi-Fi信息;电子设备从采集的Wi-Fi信息中选择出多组第二Wi-Fi信息;每组第二Wi-Fi信息包括一个Wi-Fi网络的BSSID和RSSI,且第二Wi-Fi信息中的RSSI大于预设RSSI;若电子设备根据多组第二Wi-Fi信息确定电子设备进入第一Wi-Fi围栏,则自动弹出第一虚拟卡;其中,电子设备进入第一Wi-Fi围栏,包括:多组第二Wi-Fi信息中的至少N个BSSID与多组第一Wi-Fi信息中的BSSID相同;N是正整数。
在第三方面的一种可能的设计中,在若电子设备根据多组第二Wi-Fi信息确定电子设备进入第一Wi-Fi围栏,则自动弹出所述第一虚拟卡之后,当计算机指令被处理器执行时,使得电子设备还执行如下步骤:电子设备从采集的Wi-Fi信息中选择出多组第三Wi-Fi信息;每组第三Wi-Fi信息包括一个Wi-Fi网络的BSSID和RSSI,且第三Wi-Fi信息中的RSSI大于预设RSSI;若电子设备根据多组第三Wi-Fi信息确定电子设备离开第一Wi-Fi围栏,则收回弹出的所述第一虚拟卡;其中,电子设备离开第一Wi-Fi围栏,包括:多组第三Wi-Fi信息中的至少M个BSSID与多组第一Wi-Fi信息中的BSSID不同;M是正整数。
在第三方面的一种可能的设计中,当计算机指令被处理器执行时,使得电子设备还执行如下步骤:电子设备使用第一虚拟卡完成数据交互后,电子设备将当前采集的多组第四Wi-Fi信息更新为第一Wi-Fi围栏的相关信息;其中,每组第四Wi-Fi信息包括一个Wi-Fi网络的BSSID和RSSI,且第四Wi-Fi信息中的RSSI大于预设RSSI。
在第三方面的一种可能的设计中,当计算机指令被处理器执行时,使得电子设备还执行如下步骤:若电子设备的实时位置与第一场所之间的距离大于第一距离阈值,电子设备删除第一Wi-Fi围栏的相关信息。
在第三方面的一种可能的设计中,当计算机指令被处理器执行时,使得电子设备还执行如下步骤:若电子设备处于静止状态,且电子设备处于静止状态的时长大于或等于第一时长,电子设备停止采集周围的Wi-Fi信息;若电子设备从静止状态切换为运动状态,且电子设备处于运动状态下的直线位移大于第二距离阈值,电子设备恢复周期性采集周围的Wi-Fi信息。
在第三方面的一种可能的设计中,每组第一Wi-Fi信息包括一个Wi-Fi网络的SSID;每组第二Wi-Fi信息还包括一个Wi-Fi网络的SSID;当计算机指令被处理器执行时,使得电子设备具体执行如下步骤:电子设备根据多组第二Wi-Fi信息确定电子设备进入所述第一Wi-Fi围栏,包括:电子设备计算多组第二Wi-Fi信息与多组第一Wi-Fi信息的相似度;若相似度大于预设相似度阈值,则确定电子设备进入第一Wi-Fi围栏。
在第三方面的一种可能的设计中,第一Wi-Fi围栏的相关信息保存在所述电子设备的上层应用与驱动层的共享内存区域中;当计算机指令被处理器执行时,使得电子设备具体执行如下步骤:电子设备的上层应用使用第一虚拟卡完成数据交互后,将多组第四Wi-Fi信息通过框架层、硬件抽象层传递至硬件内核层,由内核层将多组第四Wi-Fi信息更新为共享内存区域中的第一Wi-Fi围栏的相关信息。
在第三方面的一种可能的设计中,电子设备包括系统协处理器Sensor Hub;第一Wi-Fi围栏的相关信息保存在电子设备的上层应用与驱动层的共享内存区域中;当计算机指令被处理器执行时,使得电子设备具体执行如下步骤:电子设备通过Sensor Hub调用融合定位软件FLP驱动,从共享内存区域中读取第一Wi-Fi围栏的相关信息;电子设备通过Sensor Hub,根据多组第二Wi-Fi信息确定电子设备进入第一Wi-Fi围栏。
在第三方面的一种可能的设计中,当计算机指令被处理器执行时,使得电子设备还执行如下步骤:电子设备开机时,通过Sensor Hub创建所述FLP驱动,并初始化FLP驱动;其中,初始化FLP驱动,包括:注册FLP驱动的驱动信息,获取共享内存地址,获取用于接收Wi-Fi围栏的相关信息的接口参数。
在第三方面的一种可能的设计中,当计算机指令被处理器执行时,使得电子设备具体执行如下步骤:电子设备通过Sensor Hub,调用用于创建新驱动的平台封装宏,创建FLP驱动;其中,平台封装宏包括待创建驱动的名称FLP、待创建驱动的优先级和待创建驱动的初始化函数。
第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机可以执行上述第一方面中任一项所述的方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面中任一项所述的方法。
其中,第二方面至第五方面中任一种设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种虚拟卡的应用场景示意图;
图2为本申请实施例提供的一种电子设备显示虚拟卡的界面示意图;
图3为本申请实施例提供的一种Wi-Fi围栏的原理示意图;
图4为本申请实施例提供的一种手机的硬件结构示意图;
图5a为本申请实施例提供的一种手机的软件框架示意图一;
图5b为本申请实施例提供的一种手机的软件框架示意图二;
图5c为本申请实施例提供的一种手机的软件框架示意图三;
图6为本申请实施例提供的一种创建FLP驱动的流程示意图;
图7为本申请实施例提供的一种虚拟卡的弹出方法的流程示意图一;
图8为本申请实施例提供的一种虚拟卡的弹出方法的流程示意图二;
图9为本申请实施例提供的一种虚拟卡的弹出方法的流程示意图三;
图10为本申请实施例提供的一种虚拟卡的弹出方法的流程示意图四;
图11为本申请实施例提供的一种不同Wi-Fi信息的示意图;
图12为本申请实施例提供的一种虚拟卡的弹出方法的流程示意图五;
图13为本申请实施例提供的一种虚拟卡的弹出方法的流程示意图六;
图14为本申请实施例提供的一种芯片系统的结构示意图。
具体实施方式
为了使本领域技术人员更好地理解本申请实施例的方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
目前,在电子设备中配置多张虚拟卡之后,电子设备(如手机)可以在读卡器(如销售点(point of sale,POS)机)靠近的情况下,与读卡器进行数据交互,从而实现刷卡功能。以电子设备为手机为例,示例性的,如图1所示,用户在乘公交车时,可以将手机101靠近公交车上的读卡器102,从而手机101可以与公交车上的读卡器102进行数据交互,即手机101完成乘坐公交费用的支付。
通常,电子设备可以包括用于实现虚拟卡与读卡器进行通信的应用程序(如卡包应用,智选卡应用等)。这些应用具备模拟非接触集成电路(integrated circuit,IC)卡的仿真功能。这些应用可以包括上述的至少一张虚拟卡。在一些实施例中,上述多张虚拟卡可以同时存储在同一个应用中;或者,上述多张虚拟卡可以存储在不同应用中,本申请实施例对此不作限定。
相关技术中,在用户面对不同的刷卡需求时,需要用户启动应用程序(如卡包应用)并手动选择相应的虚拟卡,以完成与读卡器的数据交互。
仍以电子设备为手机为例,示例性的,当用户有刷卡需求时,手机响应于用户对卡包应用的启动操作,手机启动卡包应用并显示如图2中(a)所示的界面103,该界面103包括卡包应用中存储的多张虚拟卡,如小区门禁卡、智能门锁卡以及公共交通卡等。而后,手机响应于用户对界面103中的其中一张虚拟卡(如小区门禁卡)的操作,手机显示如图2中(b)所示的界面104,该界面104中包括被选中的小区门禁卡。最后,用户可将手机放置小区门禁对应的读卡器上刷卡进门。
在一些实施例中,当用户手动选中某一张虚拟卡之后,需要将该虚拟卡激活才能使用该虚拟卡完成数据交互。在另一些实施例中,当用户手动选中某一张虚拟卡之后,不需要将该虚拟卡激活,就可以使用该虚拟卡完成数据交互。如公共交通卡。
综上所述,在用户面对不同的刷卡需求时,即用户每次使用虚拟卡之前,都需要用户手动选择对应的虚拟卡,才能完成与读卡器的数据交互,从而导致刷卡过程较为繁琐,时间较长。
需要说明的是,本申请实施例提供的方法还可以应用于具有近场通信(nearfield communication,NFC)功能的电子设备中,本申请实施例对此不作限定。
在描述本申请实施例之前,首先对本申请实施例涉及到的技术术语进行解释。
无线保真(wireless fidelity,Wi-Fi)围栏:指的是电子设备使用某一地点的Wi-Fi网络的Wi-Fi信息建立的一个Wi-Fi围栏。在电子设备移动的过程中,电子设备会周期性的扫描周围Wi-Fi网络的Wi-Fi信息,并将扫描到的Wi-Fi信息与建立的Wi-Fi围栏进行匹配;若扫描到的Wi-Fi信息与建立的Wi-Fi围栏满足匹配规则,则认为电子设备进入了该Wi-Fi围栏;若扫描到的Wi-Fi信息与建立的Wi-Fi围栏满足不匹配规则,则认为电子设备离开了该Wi-Fi围栏。
如图3所示,为Wi-Fi围栏的原理示意图。示例性的,Wi-Fi围栏01为电子设备预先采集并建立好的Wi-Fi围栏。该Wi-Fi围栏01包括某一地点的Wi-Fi网络的Wi-Fi信息。假设用户手持电子设备的移动轨迹为02,当电子设备到达位置A时,则认为电子设备进入了Wi-Fi围栏01;当电子设备到达位置B时,则认为电子设备离开了Wi-Fi围栏01。
本申请实施例提供一种虚拟卡的切换方法,该方法中,电子设备中预先保存有一个固定场所的Wi-Fi围栏;电子设备进入该Wi-Fi围栏后,该电子设备可以自动弹出该固定场所对应的虚拟卡。
示例性的,在用户使用电子设备中的一张虚拟卡刷卡后,该电子设备可以采集用户刷卡所在位置处的多组Wi-Fi信息。每组Wi-Fi信息可以包括一个Wi-Fi网络的基本服务集标识(basic service set identifier,BSSID)和无线信号强度(received signalstrength indication,RSSI)。然后,电子设备可以基于该多组Wi-Fi信息,构建该虚拟卡对应的Wi-Fi围栏。
之后,电子设备可以在该电子设备进入该Wi-Fi围栏后,自动弹出该虚拟卡,以方便用户使用该虚拟卡刷卡。具体的,电子设备可以周期性采集该电子设备周围的Wi-Fi信息。然后,电子设备判断采集到的Wi-Fi信息与上述Wi-Fi围栏对应的多组Wi-Fi信息是否匹配。如果采集到的Wi-Fi信息与上述Wi-Fi围栏对应的多组Wi-Fi信息匹配,则表示该电子设备进入了该Wi-Fi围栏,电子设备可以自动弹出该虚拟卡,以方便用户使用该虚拟卡刷卡。
在一些实施例中,每组Wi-Fi信息还可以包括一个Wi-Fi网络的服务集标识(service set identifier,SSID)。
本申请实施例提供的虚拟卡的弹出方法可以应用于电子设备中,该电子设备例如可以为手机,平板电脑、手持计算机,个人计算机(personal computer,PC),蜂窝电话,个人数字助理(personal digital assistant,PDA),可穿戴式设备等。本申请实施例对电子设备的具体形态不作限制。
示例性的,以电子设备为手机为例,图4示出了本申请实施例提供的一种电子设备的结构示意图。
如图4所示,手机100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。
在本申请实施例中,手机100可以包括第一处理器和第二处理器。其中,第一处理器例如可以为应用处理器(application processor,AP),第二处理器例如可以为系统协处理器sensor hub。另外,本申请实施例中的手机100可以搭载MTK(MediaTex)芯片平台。在此基础上,系统协处理器例如可以称为(system companion processor,SCP)。
需要说明的是,图4所示的手机100包括的处理器110可以为第一处理器,也可以为第二处理器;或者,处理器110包括第一处理器和第二处理器,本申请实施例对此不作限定。
可以理解的是,本实施例示意的结构并不构成对手机100的具体限定。在另一些实施例中,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是手机100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备的结构限定。在另一些实施例中,电子设备也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。该显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Mini-LED,Micro-OLED,Micro-OLED,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。手机100可以支持一种或多种视频编解码器。这样,电子设备可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
手机100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音频,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备的各种功能应用以及数据处理。例如,在本申请实施例中,处理器110可以通过执行存储在内部存储器121中的指令,内部存储器121可以包括存储程序区和存储数据区。
其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flashstorage,UFS)等。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备的接触和分离。电子设备可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。
可以理解的是,本申请实施例示意的结构并不构成对手机100的具体限定。在本申请另一些实施例中,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或硬件和软件组合实现。
为了使得本申请的技术方案更加清楚,易于理解,下面结合手机的软件架构对本申请实施例的方法进行示例说明。
图5a、图5b、图5c为本申请实施例的手机的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将AndroidTM分为五层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,硬件抽象层(hardwareabstraction layer,HAL)、内核层以及驱动层。应理解:本文以AndroidTM系统举例来说明,在其他操作系统中(例如鸿蒙TM系统,iOSTM系统等),只要各个功能模块实现的功能和本申请的实施例类似也能实现本申请的方案。
应用程序层可以包括一系列应用程序包(Android application package,APK)。
如图5a、图5b、图5c所示,应用程序层中可以安装各种应用(applications,APPs)。如通话、备忘录、浏览器、联系人、图库、日历、地图、蓝牙、音乐、视频、短信息等应用。
在本申请实施例中,应用程序层中部署有用于实现虚拟卡与读卡器进行通信的应用程序,如智选卡应用、卡包应用等。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
例如,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,资源管理器,通知管理器等,本申请实施例对此不作任何限制。
例如,上述窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。上述内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话薄等。上述视图系统可用于构建应用程序的显示界面。每个显示界面可以由一个或多个控件组成。一般而言,控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、微(Widget)件等界面元素。上述资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。上述通知管理器使用应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,振动,指示灯闪烁等。
如图5a、图5b、图5c所示,Android runtime包括核心库和虚拟机。Androidruntime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语音需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
其中,表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。三维图形处理库用于实现三维图形绘图,图像渲染,合成和图层处理等。2D图形引擎是2D绘图的绘图引擎。
硬件抽象层是位于内核层与硬件之间的接口层,可以用于将硬件抽象化。在本申请实施例中,硬件抽象层包括硬件抽象层接口定义语言(hardware abstraction layerinterface definition language,HIDL)接口。其中,硬件抽象层可以包括:Camera HAL,Audio HAL,Wi-Fi HAL等。在本申请实施例中,硬件抽象层还包括FLP HAL。其中,FLP指的是融合定位软件(fused location provider,FLP)。
内核层位于硬件抽象层之下,是硬件和软件之间的层。在本申请实施例中,内核层包括FLP内核。
驱动层至少包含FLP驱动,显示驱动,摄像头驱动、音频驱动,传感器驱动,Wi-Fi驱动等,本申请实施例对此不做任何限制。在本申请实施例中,FLP驱动还包括Wi-Fi匹配模块,用于判断手机进入/离开Wi-Fi围栏。
在本申请实施例中,应用程序层,应用程序框架层,硬件抽象层以及内核层可以部署在应用处理器侧,驱动层可以部署在系统协处理器侧。这样一来,可以实现对手机全天候低功耗的Wi-Fi匹配监控能力。
需要说明的是,Wi-Fi匹配模块也可以部署在应用处理器侧,但是,在系统休眠时,Wi-Fi匹配模块则不能进行Wi-Fi匹配,即无法实现本申请的方法。这是由于在系统休眠时,应用处理器由于休眠无法进行Wi-Fi扫描。若强行将应用处理器唤醒并发起Wi-Fi扫描时,由于Wi-Fi扫描需要周期性频繁的扫描,因此强行将应用处理器唤醒并发起Wi-Fi扫描的行为会对手机带来极高的功耗,这种极高的功耗是手机无法接受的,可能会造成手机耗电量过高,手机温度过高等问题。
如图5a所示,以应用程序层部署有智选卡应用为例,可以在应用程序框架层中设置有围栏管理服务。智选卡应用可通过软件开发工具包(software development kit,SDK)连接/断开围栏管理服务。当智选卡应用与围栏管理服务连接成功后,智选卡应用可通过调用预设的API启动围栏管理服务。围栏管理服务在运行过程中可以与硬件抽象层进行交互。
示例性的,智选卡应用在运行时可以通过无线通信模块(如Wi-Fi芯片)采集第一场所提供的Wi-Fi网络的Wi-Fi信息,并建立第一Wi-Fi围栏。智选卡应用可通过调用预设的API启动围栏管理服务,以使围栏管理服务将第一Wi-Fi围栏下发至FLP HAL。FLP HAL将第一Wi-Fi围栏下发至FLP内核。FLP内核可以通过共享内存(shared memory,SHMEM)与驱动层进行交互。
其中,共享内存指的是进程间通信的一种方式。在本申请实施例中,FLP内核可以通过共享内存的方式实现与驱动层的交互,即实现应用处理器侧与系统协处理器侧之间的通信。
示例性的,一方面,FLP内核首先将第一Wi-Fi围栏的相关信息存储在共享内存区域中,并通知Wi-Fi匹配模块。而后,Wi-Fi匹配模块可以通过共享内存地址从共享内存区域中读取第一Wi-Fi围栏的相关信息。Wi-Fi匹配模块读取到第一Wi-Fi围栏的相关信息之后,Wi-Fi匹配模块通知Wi-Fi驱动,由Wi-Fi驱动来驱动Wi-Fi芯片(chip)等硬件设备采集手机周围的Wi-Fi网络的Wi-Fi信息(如多组第二Wi-Fi信息)。
后续,Wi-Fi驱动将采集到的多组第二Wi-Fi信息上报至Wi-Fi匹配模块,由Wi-Fi匹配模块根据第一Wi-Fi围栏中包括的Wi-Fi网络的Wi-Fi信息(如多组第一Wi-Fi信息)与多组第二Wi-Fi信息进行匹配,并生成匹配结果。示例性的,匹配结果包括多组第一Wi-Fi信息和多组第二Wi-Fi信息相匹配,多组第一Wi-Fi信息和多组第二Wi-Fi信息未匹配。应理解,多组第一Wi-Fi信息和多组第二Wi-Fi信息相匹配指的是手机进入第一Wi-Fi围栏,而多组第一Wi-Fi信息和多组第二Wi-Fi信息未匹配指的是手机离开(或者未进入)第一Wi-Fi围栏。
进一步的,Wi-Fi匹配模块将匹配结果上报至FLP内核,FLP内核将匹配结果上报至FLP HAL;FLP HAL可通过围栏服务提供的API将匹配结果上报至应用层的智选卡应用中。智选卡应用接收到匹配结果后,执行相应的操作。示例性的,若智选卡接收到的匹配结果为多组第一Wi-Fi信息和多组第二Wi-Fi信息相匹配,则智选卡弹出第一虚拟卡。若智选卡接收到的匹配结果为多组第一Wi-Fi信息和多组第二Wi-Fi信息未匹配,则智选卡收回弹出(或者未弹出)第一虚拟卡。
需要说明的是,在本申请实施例中,Wi-Fi匹配模块可以部署在FLP驱动中。另外,在本申请实施例中,第一Wi-Fi围栏从上至下传递称为“下发”,匹配结果从下至上传递称为“上报”。
在一些实施例中,如图5b所示,智选卡应用运行时可以将用户下发的相关控制命令(例如删除命令、暂停命令、恢复命令或查询命令等)发送至围栏管理服务。围栏管理服务可将接收到的控制命令发送至FLP HAL,Wi-Fi HAL可将接收到的控制命令发送至FLP内核,FLP内核将控制命令发送至Wi-Fi匹配模块。之后,根据不同的控制命令,Wi-Fi匹配模块可响应于控制命令执行相应的操作。
示例性的,当控制命令为删除命令时,Wi-Fi匹配模块响应于删除命令,删除第一Wi-Fi围栏的相关信息。当控制命令为暂停命令或恢复命令时,Wi-Fi匹配模块响应于暂停命令或恢复命令,通知Wi-Fi驱动,由Wi-Fi驱动来驱动Wi-Fi芯片停止扫描手机周围Wi-Fi网络的Wi-Fi信息,或者恢复扫描手机周围Wi-Fi网络的Wi-Fi信息。当控制命令为查询命令时,Wi-Fi匹配模块响应于查询命令,查询匹配结果,并将查询到的匹配结果上报至智选卡应用。
需要说明的是,当控制命令为删除命令、暂停命令、恢复命令时,驱动层中的Wi-Fi匹配模块不需要向应用层中的智选卡应用上报结果。当控制命令为查询命令时,驱动层中的Wi-Fi匹配模块需要将查询到的匹配结果层层上报至应用层中的智选卡应用中。
在一些实施例中,如图5c所示,内核层还包括状态识别模块,用于识别手机的状态。示例性的,状态识别模块从各个传感器中获取传感器数据,并识别手机的状态。其中,手机状态例如可以包括静止状态、运动状态以及手机实时位置与第一场所之间的距离。
示例性的,状态识别模块可以从加速度传感器、陀螺仪传感器、环境光传感器中获取传感器数据,并根据获取到的传感器数据识别手机是处于静止状态还是运动状态。又示例性的,状态识别模块可以从GPS传感器中获取手机的实时位置,并根据获取到的实时位置识别手机实时位置与第一场所之间的距离。
其中,Wi-Fi匹配模块可以向状态识别模块注册监听,用于监听状态识别模块识别到的手机的状态。示例性的,当Wi-Fi匹配模块监听到手机处于静止状态,且手机处于静止状态的时长大于或等于第一时长时,Wi-Fi匹配模块通知Wi-Fi驱动来驱动Wi-Fi芯片停止扫描手机周围Wi-Fi网络的Wi-Fi信息。当Wi-Fi匹配模块监听到手机由静止状态切换为运动状态,且手机处于运动状态下的直线位移大于或等于某一距离阈值(如第二距离阈值)时,Wi-Fi匹配模块通知Wi-Fi驱动来驱动Wi-Fi芯片恢复扫描手机周围Wi-Fi网络的Wi-Fi信息。当Wi-Fi匹配模块监听到手机的实时位置与第一场所之间的距离大于或等于某一距离阈值(如第一距离阈值)时,Wi-Fi匹配模块删除第一Wi-Fi围栏的相关信息。
以上结合软件架构和硬件结构对本申请实施例进行了介绍,下面结合说明书附图对本申请实施例的技术方案进行详细描述。
其中,本申请实施例的手机依赖于MTK芯片平台。由于不同芯片平台的架构不同,因此为了实现本申请的方案,首先需要在MTK芯片平台中创建FLP驱动,并注册FLP驱动的相关信息。应理解,由于Wi-Fi匹配模块部署在系统协处理器侧,因此FLP驱动同样部署在系统协处理器侧。在此基础上,由MTK芯片平台的系统协处理器创建FLP驱动,并注册FLP驱动的相关信息。
需要说明的是,MTK芯片平台可以在手机在开机时,创建FLP驱动,并注册FLP驱动的相关信息。其中,手机开机可以为首次开机,或者每一次开机。
示例性的,结合图6所示,手机通过系统协处理器创建FLP驱动,并初始化该FLP驱动。例如,手机通过系统协处理器调用用于创建新驱动的平台封装宏LATE_DECLARE(flp,deputy,initcall_flp_init)创建FLP驱动。其中,平台封装宏包括待创建驱动的驱动名称、待创建驱动的优先级和待创建驱动的初始化函数。示例性的,待创建驱动为FLP驱动时,平台封装宏为LATE_DECLARE;FLP驱动的驱动名称为flp,FLP驱动的优先级为deputy,FLP驱动的初始化函数为initcall_flp_init。
后续,在手机通过系统协处理器创建好FLP驱动之后,手机通过系统协处理器注册FLP驱动的相关信息。例如,手机通过系统协处理器注册FLP驱动的驱动信息,获取共享内存地址,以及注册广播接收器等。
其中,注册FLP驱动的驱动信息用于使应用处理器侧(如硬件抽象层)查找FLP驱动,下发配置数据(如下发第一Wi-Fi围栏的相关信息的共享内存区域),以及获取匹配结果。示例性的,手机通过系统协处理器调用sensor_device_register接口注册FLP驱动的驱动信息。其中,该驱动信息的驱动名称为“flp”,驱动类型为SENS_TYPE_FLP,中断类型为WAKEUP唤醒类型,事件上报模式为OnChang变化上报模式,驱动厂商为“honor”。
获取共享内存地址用于使应用处理器侧与系统协处理器侧进行通信。如使应用处理器侧的硬件抽象层与系统协处理器侧的内核层通信。示例性的,手机通过系统协处理器调用get_flp_shmem_info接口获取共享内存地址。其中,该共享内存地址的指针类型为struct_flp_para_t(uint32_t sub_cmd;char data[4400];),sub_cmd和data为硬件抽象层下发的第一Wi-Fi围栏的相关信息的共享内存区域,其初始值为0。sub_cmd命令表示控制指令(如添加第一Wi-Fi围栏的相关信息的指令),data为要添加的第一Wi-Fi围栏的相关信息的数组,数组大小可以根据业务量动态调整。
需要说明的是,本申请实施例中,共享内存区域仅用于存储第一Wi-Fi围栏的相关信息,硬件抽象层仅用于在共享内存区域中写入第一Wi-Fi围栏的相关信息,内核层仅用于在共享内存区域中读取第一Wi-Fi围栏的相关信息。
注册广播接收器用于使FLP驱动接收各种控制命令,数据,事件等。示例性的,系统协处理器调用broadcast_receiver_register接口注册广播接收器flp_receive。当系统协处理器注册好广播接收器之后,FLP驱动可接收各种控制命令,数据,事件等。例如,FLP驱动接收EVENT_READY(FLP驱动的驱动信息注册成功事件)。FLP驱动接收EVENT_ENABLE事件,开启FLP驱动。FLP驱动接收EVENT_DISABLE事件关闭FLP驱动。FLP驱动接收EVENT_DATA状态识别事件,用于监听状态识别模块识别到的手机状态。示例性的,当FLP驱动接收EVENT_DATA状态识别事件,监听到手机长时间处于静止状态时,FLP驱动通知Wi-Fi驱动,由Wi-Fi驱动来驱动Wi-Fi芯片停止扫描手机周围Wi-Fi网络的Wi-Fi信息。当FLP驱动接收EVENT_DATA状态识别事件,监听到手机由静止状态切换为运动状态时,FLP驱动通知Wi-Fi驱动,由Wi-Fi驱动来驱动Wi-Fi芯片恢复扫描手机周围Wi-Fi网络的Wi-Fi信息。
需要说明的是,在手机通过系统协处理器注册FLP驱动的驱动信息的同时,手机通过系统协处理器还会采用函数connsys_wifi_init初始化Wi-Fi驱动,以及采用函数rt_timer_init初始化定时器等。
FLP驱动接收EVENT_CONFIG配置命令,用于执行添加、删除、暂停、恢复以及查询等控制命令。示例性的,FLP驱动接收EVENT_CONFIG配置命令,执行ADD_WIFIFENCE添加命令,REMOVE_WIFIFENCE删除命令,PAUSE_WIFIFENCE暂停命令,RESUME_WIFIFENCE恢复命令,GET_WIFIFENCE_SATE查询命令。
以下举例说明本申请实施例提供的方法。
(1)、手机采集第一Wi-Fi围栏的相关信息。
其中,第一Wi-Fi围栏的相关信息指的是第一场所提供的Wi-Fi网络的Wi-Fi信息。示例性的,手机可以在第一次进入第一场所时采集第一场所周围的Wi-Fi网络的Wi-Fi信息。手机也可以在每一次进入第一场所时采集第一场所周围的Wi-Fi网络的Wi-Fi信息。
以第一场所为地铁站为例,示例性的,手机可以在第一次进入地铁站,并采用第一虚拟卡(如公共交通卡)完成刷卡之后,采集地铁站周围的Wi-Fi网络的Wi-Fi信息。
在一些实施例中,如图7所示,手机采集第一Wi-Fi围栏的相关信息的过程可以包括S201-S204。
S201、手机周期性扫描第一场所周围的Wi-Fi网络的Wi-Fi信息。
示例性的,当手机检测到采用第一虚拟卡完成刷卡时,手机开始周期性扫描第一场所周围的Wi-Fi网络的Wi-Fi信息。当手机周期性扫描多次周围的Wi-Fi网络的Wi-Fi信息时,手机可以得到多组Wi-Fi围栏。
以周期为3s,扫描次数为两次为例,手机每隔3s扫描第一场所周围的Wi-Fi网络的Wi-Fi信息之后,可以得到两组Wi-Fi围栏。
S202、针对每组Wi-Fi围栏,手机删除Wi-Fi围栏中Wi-Fi网络的Wi-Fi信息的RSSI小于预设RSSI的Wi-Fi网络。
示例性的,预设RSSI例如可以为-95。这样一来,能够提高Wi-Fi围栏的准确度。
在一些实施例中,当Wi-Fi围栏包括的Wi-Fi网络的数量大于第一阈值时,手机选取Wi-Fi围栏中,RSSI最好的Wi-Fi网络作为Wi-Fi围栏,以使得Wi-Fi围栏中包括的Wi-Fi网络的数量等于第一阈值。
示例性的,第一阈值例如可以为32。也就是说,手机可以选取Wi-Fi围栏中,RSSI最好的32个Wi-Fi网络作为Wi-Fi围栏。
S203、手机从多组Wi-Fi围栏中,选择一组Wi-Fi围栏作为第一Wi-Fi围栏。
在一些实施例中,手机从多组Wi-Fi围栏中,选择Wi-Fi网络数量最多的Wi-Fi围栏作为第一Wi-Fi围栏。
在另一些实施例中,若多组Wi-Fi围栏中,每个Wi-Fi围栏包括的Wi-Fi网络的数量相同,手机随机选择一个Wi-Fi围栏作为第一Wi-Fi围栏。
S204、手机判断第一Wi-Fi围栏是否满足要求。
示例性的,手机根据第一Wi-Fi围栏包括的Wi-Fi网络的数量判断第一Wi-Fi围栏是否满足要求。例如,当第一Wi-Fi围栏包括的Wi-Fi网络的数量大于或等于第二阈值时,手机判断第一Wi-Fi围栏满足要求。相应地,当第一Wi-Fi围栏包括的Wi-Fi网络的数量小于第二阈值时,手机判断第一Wi-Fi围栏不满足要求。
其中,第二阈值例如可以为3,本申请实施例对此不作限定。
需要说明的是,当手机判断第一Wi-Fi围栏满足要求时,即手机认为第一Wi-Fi围栏为有效Wi-Fi围栏。否则,第一Wi-Fi围栏为无效Wi-Fi围栏。其中,当第一Wi-Fi围栏为有效Wi-Fi围栏时,手机可以保存第一Wi-Fi围栏的相关信息,以便于后续使用第一Wi-Fi围栏实现本申请实施例提供的方法。
另外,由上述实施例可知,手机扫描第一场所周围的Wi-Fi网络的Wi-Fi信息包括多组BSSID和RSSI。在此基础上,最终得到的第一Wi-Fi围栏可以以集合的形式保存在手机中。示例性的,手机保存的第一Wi-Fi围栏例如可以为:第一Wi-Fi围栏={BSSID1+RSSI1、BSSID2+RSSI2、BSSID3+RSSI3、……、BSSIDn+RSSIn}。
(2)、手机通过应用程序层中的智选卡应用将第一Wi-Fi围栏下发至内核层中的Wi-Fi匹配模块中,而后内核层中的Wi-Fi匹配模块将匹配结果上报至应用程序层中的智选卡应用。
结合图5a、图5b、图5c以及上述实施例所示,应用程序层中部署有采集Wi-Fi信息功能的应用,如智选卡应用。也就是说,在本申请实施例中,智选卡应用可以完成Wi-Fi信息的采集,并最终得到第一Wi-Fi围栏。由于手机执行Wi-Fi匹配算法功能位于内核层中,因此手机中安装的智选卡应用需要将第一Wi-Fi围栏的相关信息层层下发至内核层中。
示例性的,结合图5a,如图8所示,首先,智选卡应用调用SDK接口连接围栏管理服务。当智选卡应用与围栏管理服务连接成功后,智选卡应用可以调用registerWifiFenceCallback接口注册事件回调,这样,围栏管理服务可以接收手机进入/退出第一Wi-Fi围栏的事件。
例如,智选卡应用调用addWifiFence接口将第一Wi-Fi围栏的相关信息下发至围栏管理服务。围栏管理服务接收到第一Wi-Fi围栏的相关信息之后,围栏管理服务调用addWifiFence接口将第一Wi-Fi围栏的相关信息下发至FLP HAL。FLP HAL接收到第一Wi-Fi围栏的相关信息之后,FLP HAL通过ioctl命令将第一Wi-Fi围栏的相关信息下发至FLP内核。FLP内核接收到第一Wi-Fi围栏的相关信息之后,FLP内核首先将第一Wi-Fi围栏的相关信息写入共享内存区域flp_para_t中,然后,FLP内核调用hf_client_control_sensor接口通知FLP驱动(如通知FLP驱动中的Wi-Fi匹配模块)。一方面,Wi-Fi匹配模块通过共享内存地址从共享内存区域中读取第一Wi-Fi围栏的相关信息。另一方面,Wi-Fi匹配模块通知Wi-Fi驱动,由Wi-Fi驱动来驱动Wi-Fi芯片周期性扫描手机周围Wi-Fi网络的Wi-Fi信息,以得到多组第二Wi-Fi信息;其中,每组第二Wi-Fi信息包括一个Wi-Fi网络的BSSID和RSSI。
示例性的,Wi-Fi驱动首先采用函数rt_timer_start启动定时器,之后,Wi-Fi驱动采用函数connsys_wifi_scan_en来驱动Wi-Fi芯片根据定时器设置的周期(如10s)扫描手机周围Wi-Fi网络的Wi-Fi信息,以得到多组第二Wi-Fi信息。
后续,Wi-Fi驱动将采集到的多组第二Wi-Fi信息传递至Wi-Fi匹配模块中。由Wi-Fi匹配模块采用Wi-Fi匹配算法(如algorithm,ALGO)对第一Wi-Fi围栏的相关信息与多组第二Wi-Fi信息进行匹配处理,并生成匹配结果。应理解,第一Wi-Fi围栏的相关信息包括多组第一Wi-Fi信息。在此基础上,Wi-Fi匹配模块采用Wi-Fi匹配算法对多组第一Wi-Fi信息和多组第二Wi-Fi信息进行匹配处理,生成匹配结果。
仍如图8所示,Wi-Fi匹配模块调用sensor_broadcast接口将匹配结果上报至FLP内核,FLP内核调用genlmsg_unicast将匹配结果上报至FLP HAL;FLP HAL调用OnWififenceTransitionCb接口将匹配结果上报至围栏管理服务;围栏管理服务调用OnWififenceTransitionCb接口将匹配结果上报至智选卡应用。
当智选卡应用接收到匹配结果之后,若匹配结果为多组第一Wi-Fi信息和多组第二Wi-Fi信息相匹配,则智选卡应用自动弹出第一虚拟卡;若匹配结果为多组第一Wi-Fi信息和多组第二Wi-Fi信息未匹配,则智选卡应用收回弹出的第一虚拟卡。
在一些实施例中,如图9所示,在Wi-Fi匹配模块生成匹配结果之后,Wi-Fi匹配模块还会判断上一次的匹配结果与当前的匹配结果是否相同。若上一次的匹配结果与当前的匹配结果相同,则Wi-Fi匹配模块不会向智选卡应用上报当前的匹配结果;若上一次的匹配结果与当前的匹配结果不同,则Wi-Fi匹配模块向智选卡应用上报当前的匹配结果。
这样一来,可以防止Wi-Fi匹配模块频繁向智选卡应用上报当前的匹配结果,能够起到防抖的作用。
(3)、智选卡应用运行时可将用户下发的相关控制命令下发至Wi-Fi匹配模块,Wi-Fi匹配模块可响应于控制命令执行相应的操作。
示例性的,结合图5b,如图10所示,首先智选卡应用调用SDK接口连接围栏管理服务。当智选卡应用与围栏管理服务连接成功后,智选卡应用可以调用registerWifiFenceCallback接口注册事件回调,这样,围栏管理服务可以接收手机进入/退出第一Wi-Fi围栏的事件。
需要说明的是,在该实施例中,智选卡应用将采集到的第一Wi-Fi围栏的相关信息下发至Wi-Fi匹配模块中,由Wi-Fi匹配模块根据第一Wi-Fi围栏的相关信息和多组第二Wi-Fi信息进行匹配。其具体的实现过程可以参考上述实施例,此处不再赘述。
仍如图10所示,智选卡应用调用SDK接口将控制命令(command prompt,CMD)下发至围栏服务。围栏管理服务接收到控制命令之后,围栏管理服务将控制命令发送至FLPHAL,FLP HAL调用ioctl接口将控制命令下发至FLP内核。FLP内核接收到控制命令之后,FLP内核调用hf_client_control_sensor接口将控制命令下发至FLP驱动(如下发至FLP驱动中的Wi-Fi匹配模块)。Wi-Fi匹配模块根据控制命令执行相应的操作。
示例性的,当控制命令为删除命令时,Wi-Fi匹配模块响应于删除命令,删除第一Wi-Fi围栏的相关信息。当控制命令为暂停命令时,Wi-Fi匹配模块响应于暂停命令,通知Wi-Fi驱动,由Wi-Fi驱动来驱动Wi-Fi芯片停止扫描手机周围Wi-Fi网络的Wi-Fi信息。例如,Wi-Fi驱动采用函数rt_timer_stop停止定时器,同时采用函数connsys_wifi_deinit驱动Wi-Fi芯片停止Wi-Fi扫描。
当控制命令为恢复命令时,Wi-Fi匹配模块响应于恢复命令,通知Wi-Fi驱动,由Wi-Fi驱动来驱动Wi-Fi芯片恢复扫描手机周围Wi-Fi网络的Wi-Fi信息。当控制命令为查询命令时,Wi-Fi匹配模块响应于查询命令,查询匹配结果,并将匹配结果层层上报至智选卡应用中。在此基础上,智选卡应用可以根据查询到的匹配结果自动弹出第一虚拟卡,或者收回弹出的第一虚拟卡。
需要说明的是,当控制命令为删除命令、暂停命令、恢复命令时,Wi-Fi匹配模块不需要向智选卡应用上报结果。图10以控制命令为查询命令为例进行示意,Wi-Fi匹配模块需要向智选卡应用上报查询到的匹配结果。
(3)、手机判断手机是否进入第一Wi-Fi围栏。
结合上述实施例可知,当第一Wi-Fi围栏中包括的多组第一Wi-Fi信息与手机采集到的多组第二Wi-Fi信息相匹配(即满足匹配规则)时,手机判断手机进入第一Wi-Fi围栏。当第一Wi-Fi围栏中包括的多组第一Wi-Fi信息与手机采集到的多组第二Wi-Fi信息未匹配(即不满足匹配规则)时,手机判断手机离开(或者未进入)第一Wi-Fi围栏。
在一些实施例中,多组第一Wi-Fi信息与多组第二Wi-Fi信息相匹配包括:多组第二Wi-Fi信息中的至少N个BSSID与多组第一Wi-Fi信息中的BSSID相同;N是正整数。也就是说,多组第二Wi-Fi信息与多组第一Wi-Fi信息中,相同的BSSID的数量大于或等于N时,多组第一Wi-Fi信息与多组第二Wi-Fi信息相匹配。
在另一些实施例中,多组第一Wi-Fi信息与多组第二Wi-Fi信息相匹配包括:多组第二Wi-Fi信息与多组第一Wi-Fi信息的相似度大于或等于预设相似度阈值。
示例性的,如图11所示,手机可以将多组第一Wi-Fi信息作为集合A,将多组第二Wi-Fi信息作为集合B,计算集合A和集合B的相似度。或者,计算集合A和集合B中,相同的BSSID的数量。其中,多组第一Wi-Fi信息和多组第二Wi-Fi信息除了包括BSSID和RSSI以外,还可以包括SSID。
需要说明的是,计算多组第二Wi-Fi信息与多组第一Wi-Fi信息的相似度的具体实现方式可以参考相关技术,此处不再赘述。
以多组第一Wi-Fi信息与多组第二Wi-Fi信息相匹配包括:多组第二Wi-Fi信息与多组第一Wi-Fi信息中,相同的BSSID的数量大于或等于N为例进行示意,示例性的,如图12所示,手机判断手机是否进入第一Wi-Fi围栏的过程可以由S301-S304实现。
S301、手机周期性采集周围的Wi-Fi信息。
示例性的,手机每隔5s采集一次周围的Wi-Fi信息。当手机采集到的Wi-Fi信息满足预设条件时,手机停止采集周围的Wi-Fi信息。
在一些实施例中,手机采集一次周围的Wi-Fi信息之后,停止采集。在另一些实施例中,手机连续采集m次周围的Wi-Fi信息之后,停止采集。其中,m大于或等于2。在又一些实施例中,手机采集到的Wi-Fi信息的组数大于或等于预设值时,停止采集。示例性的,预设值可以根据具体需要进行设置,本申请实施例对此不作限定。
S302、手机从采集的Wi-Fi信息中选择出多组第二Wi-Fi信息。
其中,每组第二Wi-Fi信息包括一个Wi-Fi网络的BSSID和RSSI,且第二Wi-Fi信息中的RSSI大于预设RSSI。其中,预设RSSI例如可以为-90。
示例性的,手机删除采集的Wi-Fi信息中,RSSI小于或等于预设RSSI的Wi-Fi网络,以使得多组第二Wi-Fi信息中,每组第二Wi-Fi信息的RSSI大于预设RSSI。这样一来,可以提高匹配算法的准确度。
S303、手机判断多组第一Wi-Fi信息和多组第二Wi-Fi信息中,相同的BSSID的数量是否大于或等于N;N是正整数。
示例性的,若多组第一Wi-Fi信息和多组第二Wi-Fi信息中,相同的BSSID的数量大于或等于N,手机判断手机进入第一Wi-Fi围栏。若多组第一Wi-Fi信息和多组第二Wi-Fi信息中,相同的BSSID的数量小于N,手机继续执行S304。
S304、手机判断第一Wi-Fi信息和多组第二Wi-Fi信息中,相同的BSSID的数量是否为0。
示例性的,若多组第一Wi-Fi信息和多组第二Wi-Fi信息中,相同的BSSID的数量为0,则手机判断手机未进入第一Wi-Fi围栏。若多组第一Wi-Fi信息和多组第二Wi-Fi信息中,相同的BSSID的数量不为0,则手机保持上一次的状态(进入/未进入)不变。即,当上一次手机判断手机为进入第一Wi-Fi围栏时,若多组第一Wi-Fi信息和多组第二Wi-Fi信息中,相同的BSSID的数量不为0,则手机保持本次的状态不变,依然为进入第一Wi-Fi围栏。当上一次手机判断手机为未进入第一Wi-Fi围栏时,若多组第一Wi-Fi信息和多组第二Wi-Fi信息中,相同的BSSID的数量不为0,则手机保持本次的状态不变,依然为未进入第一Wi-Fi围栏。
这样一来,可以防止频繁向智选卡应用上报手机进入/未进入第一Wi-Fi围栏的事件,有利于降低设备功耗,起到防抖的作用。
在一些实施例中,如图13所示,在手机判断手机进入第一Wi-Fi围栏之后,该方法还包括:
S305、手机从采集的Wi-Fi信息中选择出多组第三Wi-Fi信息。
其中,每组第三Wi-Fi信息包括一个Wi-Fi网络的BSSID和RSSI,且第三Wi-Fi信息中的RSSI大于预设RSSI。
需要说明的是,对于手机从采集的Wi-Fi信息中选择出多组第三Wi-Fi信息的举例说明可以参考上述实施例中S302的举例说明,此处不再赘述。
S306、手机判断多组第一Wi-Fi信息与多组第三Wi-Fi信息中,不相同的BSSID的数量是否大于或等于M;M是正整数。
示例性的,若多组第一Wi-Fi信息与多组第三Wi-Fi信息中,不相同的BSSID的数量大于或等于M,则手机判断手机离开第一Wi-Fi围栏。若多组第一Wi-Fi信息与多组第三Wi-Fi信息中,不相同的BSSID的数量小于M,则手机判断手机未离开第一Wi-Fi围栏。
在一种实现方式中,当多组第一Wi-Fi信息与多组第三Wi-Fi信息中,相同的BSSID的数量为0时,手机判断手机离开第一Wi-Fi围栏。
综上所述,在本申请实施例中,由于手机中保存有第一场所提供的第一Wi-Fi围栏的相关信息,即手机中保存有手机在第一场所使用第一虚拟卡完成数据交互之后采集的多组第一Wi-Fi信息,每组第一Wi-Fi信息包括一个Wi-Fi网络的BSSID和RSSI;后续,手机会周期性采集周围的Wi-Fi信息,并从采集的Wi-Fi信息中选择出多组第二Wi-Fi信息,每组第二Wi-Fi信息包括一个Wi-Fi网络的BSSID和RSSI;在此基础上,若手机判断收多组第二Wi-Fi信息中的至少N个BSSID与多组第一Wi-Fi信息中的BSSID相同,则手机可以确定手机进入第一Wi-Fi围栏,并自动弹出第一虚拟卡。这样一来,通过将第一Wi-Fi围栏中包括的多组第一Wi-Fi信息和手机实时采集的多组第二Wi-Fi信息进行匹配,可以在用户刷卡前,实现将对应的第一虚拟卡自动激活,减少了刷卡时间,提高了用户体验。
另外,由于每组第二Wi-Fi信息中的RSSI大于预设RSSI,即每组第二Wi-Fi信息中的无线信号强度较强,这样一来,有利于提高匹配算法的准确度。
考虑到不同场所的Wi-Fi信息不同,且同一场所的Wi-Fi信息可能存在实时变化,基于此,在本申请实施例中,在手机使用第一虚拟卡完成数据交互之后,手机可以将当前采集的多组Wi-Fi信息(或称第四Wi-Fi信息)更新为第一Wi-Fi围栏的相关信息。其中,每组第四Wi-Fi信息包括一个Wi-Fi网络的BSSID和RSSI,且第四Wi-Fi信息中的RSSI大于所述预设RSSI。
需要说明的是,对于第四Wi-Fi信息的举例说明可以参考上述实施例,此处不再一一赘述。
这样一来,由于手机可以将实时采集到的Wi-Fi信息更新为第一Wi-Fi围栏的相关信息,有利于提高第一Wi-Fi围栏的相关信息的准确度,进而提高匹配算法的准确度。
本申请实施例提供一种电子设备,该电子设备可以包括显示屏、存储器以及一个或多个处理器;存储器中存储有计算机程序代码,计算机程序代码包括计算机指令,当计算机指令被所述处理器执行时,使得所述电子设备可执行上述实施例中手机执行的各个功能或者步骤。该电子设备的结构可以参考图4所示的手机100的结构。
本申请实施例还提供一种芯片系统,如图14所示,该芯片系统1800包括至少一个处理器1801和至少一个接口电路1802。其中,处理器1801可以是上述实施例中图4所示的处理器110。接口电路1802例如可以为处理器110和外部存储器120之间的接口电路;或者为处理器110和内部存储器121之间的接口电路。
上述处理器1801和接口电路1802可通过线路互联。例如,接口电路1802可用于从其它装置(例如电子设备的存储器)接收信号。又例如,接口电路1802可用于向其它装置(例如处理器1801)发送信号。示例性的,接口电路1802可读取存储器中存储的指令,并将该指令发送给处理器1801。当所述指令被处理器1801执行时,可使得电子设备执行上述实施例中手机180执行的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当所述计算机指令在电子设备上运行时,使得该电子设备执行上述方法实施例中手机执行的各个功能或者步骤。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述方法实施例中手机执行的各个功能或者步骤。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种虚拟卡的弹出方法,其特征在于,应用于电子设备,所述电子设备中保存有第一场所提供的第一Wi-Fi围栏的相关信息,所述第一Wi-Fi围栏的相关信息包括多组第一Wi-Fi信息,每组第一Wi-Fi信息包括一个Wi-Fi网络的基本服务集标识BSSID和无线接收信号强度RSSI;所述多组第一Wi-Fi信息是所述电子设备使用第一虚拟卡完成数据交互后采集的;所述方法包括:
所述电子设备周期性采集周围的Wi-Fi信息;
所述电子设备从采集的Wi-Fi信息中选择出多组第二Wi-Fi信息;每组第二Wi-Fi信息包括一个Wi-Fi网络的BSSID和RSSI,且所述第二Wi-Fi信息中的RSSI大于预设RSSI;
若所述电子设备根据所述多组第二Wi-Fi信息确定所述电子设备进入所述第一Wi-Fi围栏,则自动弹出所述第一虚拟卡;其中,所述电子设备进入所述第一Wi-Fi围栏,包括:所述多组第二Wi-Fi信息中的至少N个BSSID与所述多组第一Wi-Fi信息中的BSSID相同;N是正整数。
2.根据权利要求1所述的方法,其特征在于,在所述若所述电子设备根据所述多组第二Wi-Fi信息确定所述电子设备进入所述第一Wi-Fi围栏,则自动弹出所述第一虚拟卡之后,所述方法还包括:
所述电子设备从采集的Wi-Fi信息中选择出多组第三Wi-Fi信息;每组第三Wi-Fi信息包括一个Wi-Fi网络的BSSID和RSSI,且所述第三Wi-Fi信息中的RSSI大于所述预设RSSI;
若所述电子设备根据所述多组第三Wi-Fi信息确定所述电子设备离开所述第一Wi-Fi围栏,则收回弹出的所述第一虚拟卡;其中,所述电子设备离开所述第一Wi-Fi围栏,包括:所述多组第三Wi-Fi信息中的至少M个BSSID与所述多组第一Wi-Fi信息中的BSSID不同;M是正整数。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述电子设备使用所述第一虚拟卡完成数据交互后,所述电子设备将当前采集的多组第四Wi-Fi信息更新为所述第一Wi-Fi围栏的相关信息;
其中,每组第四Wi-Fi信息包括一个Wi-Fi网络的BSSID和RSSI,且所述第四Wi-Fi信息中的RSSI大于所述预设RSSI。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
若所述电子设备的实时位置与所述第一场所之间的距离大于第一距离阈值,所述电子设备删除所述第一Wi-Fi围栏的相关信息。
5.根据权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
若所述电子设备处于静止状态,且所述电子设备处于静止状态的时长大于或等于第一时长,所述电子设备停止采集周围的Wi-Fi信息;
若所述电子设备从所述静止状态切换为运动状态,且所述电子设备处于所述运动状态下的直线位移大于第二距离阈值,所述电子设备恢复周期性采集周围的Wi-Fi信息。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述每组第一Wi-Fi信息包括一个Wi-Fi网络的SSID;所述每组第二Wi-Fi信息还包括一个Wi-Fi网络的SSID;
所述电子设备根据所述多组第二Wi-Fi信息确定所述电子设备进入所述第一Wi-Fi围栏,包括:
所述电子设备计算所述多组第二Wi-Fi信息与所述多组第一Wi-Fi信息的相似度;
若所述相似度大于预设相似度阈值,则确定所述电子设备进入所述第一Wi-Fi围栏。
7.根据权利要求3所述的方法,其特征在于,所述第一Wi-Fi围栏的相关信息保存在所述电子设备的上层应用与驱动层的共享内存区域中;
所述电子设备使用所述第一虚拟卡完成数据交互后,所述电子设备将当前采集的多组第四Wi-Fi信息更新为所述第一Wi-Fi围栏的相关信息,包括:
所述电子设备的所述上层应用使用所述第一虚拟卡完成数据交互后,将所述多组第四Wi-Fi信息通过框架层、硬件抽象层传递至内核层,由所述内核层将所述多组第四Wi-Fi信息更新为所述共享内存区域中的所述第一Wi-Fi围栏的相关信息。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述电子设备包括系统协处理器Sensor Hub;所述第一Wi-Fi围栏的相关信息保存在所述电子设备的上层应用与驱动层的共享内存区域中;
所述电子设备根据所述多组第二Wi-Fi信息确定所述电子设备进入所述第一Wi-Fi围栏,包括:
所述电子设备通过所述Sensor Hub调用融合定位软件FLP驱动,从所述共享内存区域中读取所述第一Wi-Fi围栏的相关信息;
所述电子设备通过所述Sensor Hub,根据所述多组第二Wi-Fi信息确定所述电子设备进入所述第一Wi-Fi围栏。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
所述电子设备开机时,通过所述Sensor Hub创建所述FLP驱动,并初始化所述FLP驱动;
其中,所述初始化所述FLP驱动,包括:注册所述FLP驱动的驱动信息,获取所述共享内存地址,获取用于接收Wi-Fi围栏的相关信息的接口参数。
10.根据权利要求9所述的方法,其特征在于,所述通过所述Sensor Hub创建所述FLP驱动,包括:
所述电子设备通过所述Sensor Hub,调用用于创建新驱动的平台封装宏,创建所述FLP驱动;
其中,所述平台封装宏包括待创建驱动的名称FLP、所述待创建驱动的优先级和所述待创建驱动的初始化函数。
11.一种电子设备,其特征在于,显示屏,存储器和一个或多个处理器,所述显示屏、所述存储器与所述处理器耦合;所述存储器中保存有第一场所提供的第一Wi-Fi围栏的相关信息,所述第一Wi-Fi围栏的相关信息包括多组第一Wi-Fi信息,每组第一Wi-Fi信息包括一个Wi-Fi网络的基本服务集标识BSSID和无线接收信号强度RSSI;所述多组第一Wi-Fi信息是所述电子设备使用第一虚拟卡完成数据交互后采集的;
所述存储器中存储有计算机程序代码,所述计算机程序代码包括计算机指令;所述第二处理器用于执行所述计算机指令,以执行如权利要求1-10任一项所述的方法。
12.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210603077.2A CN116055630A (zh) | 2022-05-30 | 2022-05-30 | 一种虚拟卡的弹出方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210603077.2A CN116055630A (zh) | 2022-05-30 | 2022-05-30 | 一种虚拟卡的弹出方法、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116055630A true CN116055630A (zh) | 2023-05-02 |
Family
ID=86112070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210603077.2A Pending CN116055630A (zh) | 2022-05-30 | 2022-05-30 | 一种虚拟卡的弹出方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116055630A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020191598A1 (zh) * | 2019-03-25 | 2020-10-01 | 华为技术有限公司 | 一种确定终端设备位于地理围栏内部的方法和终端设备 |
CN113573239A (zh) * | 2021-06-15 | 2021-10-29 | 荣耀终端有限公司 | 一种虚拟卡切换方法、电子设备及可穿戴设备 |
WO2022083551A1 (zh) * | 2020-10-21 | 2022-04-28 | 华为技术有限公司 | 一种模拟卡的切换方法、电子设备和通信系统 |
-
2022
- 2022-05-30 CN CN202210603077.2A patent/CN116055630A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020191598A1 (zh) * | 2019-03-25 | 2020-10-01 | 华为技术有限公司 | 一种确定终端设备位于地理围栏内部的方法和终端设备 |
WO2022083551A1 (zh) * | 2020-10-21 | 2022-04-28 | 华为技术有限公司 | 一种模拟卡的切换方法、电子设备和通信系统 |
CN114462560A (zh) * | 2020-10-21 | 2022-05-10 | 华为技术有限公司 | 一种模拟卡的切换方法、电子设备和通信系统 |
CN113573239A (zh) * | 2021-06-15 | 2021-10-29 | 荣耀终端有限公司 | 一种虚拟卡切换方法、电子设备及可穿戴设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112789651B (zh) | 一种应用于终端的频率调整方法、装置及电子设备 | |
CN111724775B (zh) | 一种语音交互方法及电子设备 | |
CN110543287B (zh) | 一种屏幕显示方法及电子设备 | |
US11683850B2 (en) | Bluetooth reconnection method and related apparatus | |
WO2023279820A1 (zh) | 一种触摸屏采样率的调整方法及电子设备 | |
CN113254120B (zh) | 数据处理方法和相关装置 | |
CN113778663B (zh) | 一种多核处理器的调度方法及电子设备 | |
CN115589051B (zh) | 充电方法和终端设备 | |
CN113641271B (zh) | 应用窗口的管理方法、终端设备及计算机可读存储介质 | |
CN113688019B (zh) | 响应时长检测方法及装置 | |
CN115835135B (zh) | 一种cell围栏的匹配方法及电子设备 | |
CN115119048B (zh) | 一种视频流处理方法及电子设备 | |
CN116684525A (zh) | 一种事件提醒的方法、电子设备及存储介质 | |
CN113805771B (zh) | 一种通知提醒方法、终端设备及计算机可读存储介质 | |
CN113380240B (zh) | 语音交互方法和电子设备 | |
CN116055630A (zh) | 一种虚拟卡的弹出方法、电子设备及存储介质 | |
CN116033341B (zh) | 触发围栏事件的方法和装置 | |
CN116028534B (zh) | 处理交通信息的方法和装置 | |
CN117013660B (zh) | 一种充电图标显示方法及电子设备 | |
CN114691248B (zh) | 显示虚拟现实界面的方法、装置、设备和可读存储介质 | |
CN116684520B (zh) | 一种关机方法、电子设备、存储介质及芯片 | |
CN115513571B (zh) | 电池温度的控制方法和终端设备 | |
CN117667229A (zh) | 显示方法、电子设备及存储介质 | |
CN117666810A (zh) | 一种输入方法和电子设备 | |
CN117119566A (zh) | 一种中断处理方法及电子设备 |
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 |