地铁出行检测方法及电子设备与流程

文档序号:30088315发布日期:2022-05-18 07:05阅读:106来源:国知局
地铁出行检测方法及电子设备与流程

1.本技术涉及终端设备领域,尤其涉及一种地铁出行检测方法及电子设备。


背景技术:

2.随着终端设备领域的发展,终端的应用场景越来越广泛。例如,用户可通过终端中安装的应用所提供的刷码服务乘坐地铁。但是,目前的应用所提供的刷码服务的操作较为繁琐,用户体验较差。


技术实现要素:

3.本技术提供一种优化的地铁出行检测方法及电子设备。
4.在本技术提供的一些实施例中,电子设备可以为用户地铁出行方式提供更精准、更便捷的刷码服务,以提升用户体验。
5.示例性的,电子设备中可安装有多个具有刷码功能的应用。在一些场景中,用户需要刷码时,可通过触发具有刷码功能的应用,以使得应用显示地铁乘车码界面。用户可使用地铁乘车码界面中的地铁乘车码刷码进站或出站,从而无需用户再购买地铁卡或者携带地铁卡。为了进一步提升用户体验,一些场景中,电子设备可以通过提供快速入口,以使得用户在简单操作,例如点击快速入口对应的按钮的情况下,即可使得电子设备跳转到地铁乘车码界面,从而简化用户操作。而与地铁乘车码界面所属应用关联的快速入口的显示时机,则需要考虑到及时性,且避免对用户的过多打扰,需要符合用户的需求,以使得快速入口能够在用户需要坐地铁时展示给用户。本技术的一些实施例中提供了一种地铁出行检测方法,电子设备可以基于用户的行为状态,确定是否需要弹出乘车态卡片。并且,电子设备还可以基于用户的行为状态,确定当前的场景为用户未刷码而离开地铁站、用户刷码进入地铁站、用户刷码出站等场景,以基于不同的场景,切换乘车卡片的状态。
6.第一方面,本技术实施例一种地铁出行检测方法。该方法包括:电子设备的界面中显示乘车态卡片;乘车态卡片中包括电子设备所在第一地铁站的名称和刷码选项,刷码选项和地铁乘车码界面相关联,乘车态卡片用于提示当前地铁站为第一地铁站,并且第一乘车态卡片还用于提供与地铁乘车码界面关联的应用入口。电子设备订阅应用围栏,应用围栏包括至少一个服务的标识,至少一个服务为包含地铁乘车码的服务;电子设备响应于接收到的点击刷码选项的操作,显示第一应用的第一服务的界面;电子设备获取第一服务的标识,第一服务的标识包括第一应用的标识和第一服务的活动activity标识;电子设备检测到第一服务的标识与应用围栏指示的至少一个服务的标识匹配,订阅第一服务所属第一窗口是否包含地铁乘车码;电子设备检测到第一窗口中包含地铁乘车码,订阅第一窗口发生的窗口内容变化事件,并且,订阅电子设备是否发生翻腕事件;电子设备在预定时长内,未检测第一窗口发生第一目标事件,且未检测到发生翻腕事件,获取电子设备的运动状态;第一目标事件属于窗口内容变化事件,第一目标事件用于指示第一窗口显示刷码成功界面;若检测到电子设备的运动状态为乘坐地铁状态,则确定电子设备使用第一服务的地铁
乘车码刷码进入第一地铁站;若检测到电子设备的运动状态为非乘坐地铁状态,且第一地铁站为非起始站,以及电子设备离开第一地铁站,则确定电子设备使用第一服务的地铁乘车码刷码离开第一地铁站;若检测到电子设备的运动状态为非乘坐地铁状态,且第一地铁站为起始站,以及电子设备离开第一地铁站,则确定电子设备未使用第一服务的地铁乘车码刷码。这样,电子设备在刷码围栏未能成功检测到刷码是否成功的情况下,基于运动状态和地铁围栏进一步检测,从而可以提供一种兜底方案,在电子设备未能通过刷码围栏成功检测用户刷码的情况下,提供一种可行的刷码检测方式,以提高刷码检测的精准度,避免误判。
7.根据第一方面,确定电子设备使用第一服务的地铁乘车码刷码进入第一地铁站之后,方法还包括:将乘车态卡片更新为常规态乘车卡片;常规态乘车卡片包括刷码选项;常规态乘车卡片用于提供与地铁乘车码界面关联的应用入口。这样,电子设备可基于获取到的刷码状态,切换乘车卡片的显示状态。
8.根据第一方面,或者以上第一方面的任意一种实现方式,乘车态卡片的提示强度大于常规态卡片的提示强度。
9.根据第一方面,或者以上第一方面的任意一种实现方式,乘车态卡片的提示方式包括以下至少之一:若电子设备显示的卡片组中包括多个卡片,乘车态卡片置于多个卡片中的其它卡片上方显示;电子设备显示乘车态卡片时,振动和/或播放提示音。
10.根据第一方面,或者以上第一方面的任意一种实现方式,常规态卡片的提示方式为:若电子设备显示的卡片组中包括多个卡片,常规态卡片与多个卡片中的其它卡片轮询显示。
11.根据第一方面,或者以上第一方面的任意一种实现方式,确定电子设备使用第一服务的地铁乘车码刷码离开第一地铁站之后,方法还包括:取消显示乘车态卡片。这样,电子设备在检测到用户刷码出站后,取消显示乘车态卡片,以避免对用户的打扰。
12.根据第一方面,或者以上第一方面的任意一种实现方式,电子设备显示乘车态卡片之前,方法还包括:订阅地铁站的粗精度围栏,粗精度围栏用于指示电子设备位于地铁站附近;检测到电子设备位于第一地铁站附近,确定第一地铁站对应的粗精度围栏触发;第一地铁站对应的粗精度围栏触发后,订阅第一地铁站对应的第一高精度围栏;第一高精度围栏用于指示电子设备位于第一地铁站的闸机附近;检测到电子设备位于第一地铁站的闸机附近,确定第一高精度围栏触发;第一高精度围栏触发后,订阅第一室内围栏;第一室内围栏用于指示电子设备位于第一地铁站的室内;检测到电子设备位于第一地铁站的室内,确定第一室内围栏触发;在第一高精度围栏被触发且第一室内围栏被触发后,显示乘车态卡片。这样,电子设备通过设置多个地铁围栏,可以逐渐提升检测精度和准确性,以避免发生用户在地铁附近而未在地铁的闸机附近就弹卡的场景,或者是用户在地铁的闸机附近而未进入地铁站内的场景等,以在提高对需要乘坐地铁的用户的检测精准度的同时,避免对不需要乘坐地铁的用户的打扰。
13.根据第一方面,或者以上第一方面的任意一种实现方式,粗精度围栏包括地铁站的蜂窝网络信息与地理位置信息中的至少一个。
14.根据第一方面,或者以上第一方面的任意一种实现方式,第一高精度围栏包括第一地铁站的无线网络信息。
15.根据第一方面,或者以上第一方面的任意一种实现方式,第一地铁站的无线网络信息包括第一地铁站的蓝牙网络信息与第一地铁站的wi-fi网络信息中的至少一个。
16.根据第一方面,或者以上第一方面的任意一种实现方式,当检测到电子设备的运动状态为非乘坐地铁状态,且第一地铁站为非起始站,以及电子设备离开第一地铁站,确定电子设备使用第一服务的地铁乘车码刷码离开第一地铁站,包括:检测到电子设备当前的运动状态为非乘坐地铁状态,获取电子设备保存的刷码记录,刷码记录中包括上一次刷码的刷码信息,刷码信息包括上一次刷码所使用的服务的标识、上一次刷码进站或出站的地铁站名称;检测到刷码记录中记录的刷码信息指示上一次刷码为刷码进站,确定第一地铁站为非起始站;确定第一地铁站非起始站后,检测到电子设备检测到的网络中不包括第一地铁站的第一高精度围栏所指示的无线网络,确定电子设备离开第一地铁站的闸机附近;确定电子设备离开第一地铁站的闸机附近后,检测到电子设备连接的蜂窝网络不包括第一地铁站对应的粗精度围栏所指示的蜂窝网络,和/或检测到电子设备离开第一地铁站对应的粗精度围栏的地理位置信息所指示的地理范围内,确定电子设备离开第一地铁站。这样,电子设备基于设置的粗精度围栏和高精度围栏,可确定用户是否离站,并基于识别结果,确定用户是否刷码。
17.根据第一方面,或者以上第一方面的任意一种实现方式,当检测到电子设备的运动状态为非乘坐地铁状态,且第一地铁站为起始站,以及电子设备离开第一地铁站,确定电子设备未使用第一服务的地铁乘车码刷码,包括:检测到电子设备的运动状态为非乘坐地铁状态,获取电子设备保存的刷码记录,刷码记录中包括上一次刷码的刷码信息,刷码信息包括上一次刷码所使用的服务的标识、上一次刷码进站或出站的地铁站名称;检测到刷码记录中记录的刷码信息指示上一次刷码为刷码出站,确定第一地铁站为起始站;确定第一地铁站为起始站后,检测到电子设备检测到的网络中不包括第一地铁站的第一高精度围栏所指示的无线网络,确定电子设备离开第一地铁站的闸机附近;确定电子设备离开第一地铁站的闸机附近后,检测到电子设备连接的蜂窝网络不包括第一地铁站对应的粗精度围栏所指示的蜂窝网络,和/或检测到电子设备离开第一地铁站对应的粗精度围栏的地理位置信息所指示的地理范围内,确定电子设备离开第一地铁站。这样,电子设备可基于检测流程,确定用户在非起始站是否刷码。
18.根据第一方面,或者以上第一方面的任意一种实现方式,在第一预定时长内,未检测第一窗口发生第一目标事件,且未检测到发生翻腕事件之后,还包括:解除订阅第一窗口发生的窗口内容变化事件,并且解除订阅翻腕事件。这样,电子设备解除订阅的围栏,以节约系统功耗。
19.根据第一方面,或者以上第一方面的任意一种实现方式,所述电子设备在桌面、锁屏界面、应用界面、下拉菜单栏、负一屏中的至少一个界面中显示所述第一乘车态卡片。
20.根据第一方面,或者以上第一方面的任意一种实现方式,所述电子设备在应用界面显示所述第一乘车态卡片时,所述第一乘车态卡片为悬浮控件形式。
21.第二方面,本技术提供一种电子设备。该电子设备包括:一个或多个处理器、存储器;以及一个或多个计算机程序,其中一个或多个计算机程序存储在存储器上,当计算机程序被一个或多个处理器执行时,使得电子设备执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
22.第二方面以及第二方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第二方面以及第二方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
23.第三方面,本技术实施例提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
24.第三方面以及第三方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第三方面以及第三方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
25.第四方面,本技术实施例提供了一种计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
26.第四方面以及第四方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第四方面以及第四方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
27.第五方面,本技术实施例提供一种芯片,该芯片包括处理电路、收发管脚。其中,该收发管脚、和该处理电路通过内部连接通路互相通信,该处理电路执行第一方面或第一方面的任一种可能的实现方式中的方法,以控制接收管脚接收信号,以控制发送管脚发送信号。
附图说明
28.图1为示例性示出的电子设备的硬件结构示意图;
29.图2为示例性示出的地铁出行检测方法流程示意图;
30.图3为示例性示出的地铁出行检测方法流程示意图;
31.图4a~4g为示例性示出的应用场景示意图;
32.图5为示例性示出的应用场景示意图;
33.图6为示例性示出的乘车卡片示意图;
34.图7a~7d为示例性示出的用户界面示意图;
35.图8为示例性示出的刷码检测方法的流程示意图;
36.图9为示例性示出的用户界面示意图;
37.图10为示例性示出的感知模块订阅刷码围栏的流程示意图;
38.图11a~11c为示例性示出的事件信息的示意图;
39.图12a为示例性示出的用户界面示意图;
40.图12b~12c为示例性示出的事件信息的示意图;
41.图13为示例性示出的用户界面示意图;
42.图14为示例性示出的应用场景示意图;
43.图15为示例性示出的用户界面示意图;
44.图16为示例性示出的感知模块订阅刷码围栏的流程示意图;
45.图17为示例性示出的地铁围栏检测刷码行为的流程示意图;
46.图18为示例性示出的电子设备的软件结构示意图。
具体实施方式
47.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
48.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
49.本技术实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。
50.在本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
51.在本技术实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。
52.图1示出了电子设备100的结构示意图。应该理解的是,图1所示电子设备100仅是电子设备的一个范例,并且电子设备100可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图1中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
53.电子设备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等。其中传感器模块180可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。
54.本技术的一些实施例涉及地铁站相关的粗精度围栏(如,围栏)和高精度围栏,对于一个地铁站而言,其可以对应一个粗精度围栏(如,围栏)和一个高精度围栏。该粗精度围栏(如,围栏)可以是该能够标识该地铁站的地理范围的一个地理围栏,用户若携带电子设备进入该地铁站的地理范围内,则可以触发该粗精度围栏;高精度围栏可以是指该地铁站里的刷码闸机的地理范围的一个地理围栏,用户若携带电子设备进入该地铁站里的刷码闸机的地理范围内,则可以触发该高精度围栏。其中,所述地理围栏可以通过地理位置(如通过gps定位等方式确定地理位置)来标识该地理围栏对应的地理范围,也可以通过该地理范围内的信号指纹(如该地理范围内所能检测到的基站信息、wifi信息、蓝牙信息等)来标识该地理围栏对应的地理范围。
55.示例性的,电子设备100的软件结构中可以包括感知模块、智慧出行服务以及第三
方应用等。可选地,本技术实施例中涉及的第三方应用包括支付应用、一卡通等包括地铁乘车服务的应用。
56.图2为示例性示出的地铁出行检测方法流程示意图。请参照图2,具体包括:
57.s201a,智慧出行服务向感知模块指示注册城市围栏。
58.示例性的,本技术实施例中,云端可获取到城市中的地铁出行网络信息。地铁出行网络信息中可包括所在城市中的各地铁站的站点信息,站点信息包括但不限于:地铁站名称、地铁站位置、地铁站内的wi-fi信息、地铁站附近的蜂窝网络信息、地铁站内的蓝牙网络信息等。
59.示例性的,地铁站名称即为该站的站名,例如可以是国家图书馆站、北京西站等。
60.示例性的,地铁站位置可选地为地铁站的经纬度信息。
61.示例性的,地铁站内的wi-fi信息可选地为地铁站内(也可以理解为闸机附近)的wi-fi网络信息。wi-fi网络信息可以包括但不限于:wi-fi网络的标识信息、wi-fi网络的地址信息等。
62.示例性的,地铁站附近的蜂窝网络信息可选地为地铁站附近的基站对应的小区标识。可选地,蜂窝网络信息也可以是基站的标识信息,本技术不做限定。举例说明,国家图书馆站附近包括基站a和基站b,基站a包括小区1、小区2和小区3,其中,小区2和小区3覆盖国家图书馆站(可以是全部覆盖,也可能是部分覆盖),基站b包括小区4和小区5,小区4覆盖国家图书馆站。相应的,国家图书馆站的蜂窝网络信息包括但不限于:基站a的小区2的标识信息、基站a的小区3的标识信息、基站b的小区4的标识信息。可选地,国际图书馆站的蜂窝网络信息也可以包括基站a的标识信息和基站b的标识信息。
63.可选地,布设有地铁的城市中,可能有部分城市可对应有地铁出行网络信息。例如,城市a、城市b和城市c均布设有地铁,云端只存储有城市a和城市b的地铁出行网络信息。相应的,位于城市a中的手机,可以基于从云端获取到的城市a对应的地铁出行网络信息,执行地铁出行检测流程。位于城市b中的手机,可以基于从云端获取到的城市b对应的地铁出行网络信息,执行地铁出行检测流程。对于城市c,在云端未获取到城市c的地铁出行网络信息之前,位于城市c中的手机是无法执行地铁出行检测流程的。
64.在本技术实施例中,智慧出行服务可向感知模块发送指示信息,用于指示感知模块注册城市围栏。也就是说,智慧出行服务指示感知模块订阅城市围栏,以检测手机当前是否在指定城市内。示例性的,指定城市可选地为上文所述的云端所存储的对应有地铁网络信息的城市,也可以理解为,可以支持手机执行地铁出行检测的城市。感知模块可基于智慧出行服务的指示,订阅城市围栏。
65.在一种可能的实现方式中,感知模块可以在首次开机、初始化、灭屏充电等任一场景时,从云端获取云端存储的各城市的城市信息以及各城市的地铁出行网络信息。其中,云端所存储的城市即为上文所述的对应有地铁出行网络信息的城市。城市信息包括但不限于:城市名称和城市范围。示例性的,感知模块在订阅围栏时,可基于已获取到的相关信息,订阅对应的围栏。例如,在下面的实施例中,感知模块已从云端获取到当前所处城市的各地铁站的蜂窝网络信息,感知模块可基于以获取到的蜂窝网络信息,订阅地铁站的及刻围栏,具体实现方式将在下面的实施例中说明。
66.可选地,感知模块可以周期性地从云端获取城市信息和地铁网络出行信息。可选
地,云端保存的城市信息和地铁出行网络信息可能存在更新,感知模块可将新获取到的城市信息和地铁出行网络信息覆盖上一次获取到的地铁出行网络信息。一个示例中,感知模块可以周期性地(例如每隔3天)向云端发送请求消息,以请求云端反馈地铁出行网络信息。另一个示例中,云端可以周期性地向手机推送地铁出行网络信息。又一个示例中,云端可以在地铁出行网络信息发生更新的情况下,向手机推送地铁出行网络信息。可选地,云端可以仅反馈更新的地铁出行网络信息,感知模块可基于获取到的地铁出行网络信息,对已保存的地铁出行网络信息进行更新。又一个示例中,手机可以在灭屏充电时,从云端获取最新的的城市信息和地铁网络出行信息,从而节省手机耗电。
67.示例性的,感知模块可基于已获取到的城市信息,订阅城市围栏。并且,感知模块在执行下文实施例中的相关步骤时,可从以获取到的地铁出行网络信息中获取相关信息,以订阅对应的围栏。
68.示例性的,感知模块订阅城市围栏后,感知模块可获取到手机所处地理位置。例如,感知模块可以调用手机的gps功能,以获取到手机所处的地理位置(例如经纬度信息)。再例如,手机中的其它应用调用gps,以获取手机的位置时,感知模块可以从其他应用中获取到手机的位置信息。
69.可选地,感知模块可以周期性地获取手机的地理位置信息。
70.一个示例中,感知模块检测到手机的地理位置位于指定城市的范围内,感知模块可确定城市围栏触发,执行s201b。举例说明,仍以上文举例为例,云端保存有城市a和城市b的地铁网络信息,而未保存有城市c的地铁网络信息。感知模块从云端获取到城市a的城市信息和城市b的城市信息。感知模块基于城市a的城市信息和城市b的城市信息订阅城市围栏。感知模块周期性地获取手机的地理位置。示例性的,感知模块检测到手机所处地理位置位于城市a的城市范围内,感知模块可确定城市围栏触发,执行s201b。另一个示例中,如上文所述,感知模块可周期性地获取到手机的地理位置,若用户从城市a移动到城市c,感知模块检测到手机的地理位置移出城市a的城市范围,并且,感知模块未能检测到与当前地理位置对应的城市信息,则,感知模块重新执行s201a。可以理解为,当手机执行下文实施例中的任一步骤时,感知模块仍可周期性地获取手机的地理位置,当感知模块检测到手机的地理位置在城市围栏所指定的城市范围内,感知模块可继续执行当前步骤。当感知模块检测到手机的地理位置未在城市围栏所指定的城市范围内,感知模块结束当前执行的步骤,并重新返回s201a,即,继续对城市围栏进行检测,直至手机进入城市围栏所指定的城市范围内。
71.在一种可能的实现方式中,感知模块接收到智慧出行服务的订阅城市围栏的指示后,感知模块可以获取手机的当前位置。感知模块可以将获取到的地理位置信息上报至云端,云端可以将获取到的地理位置与已保存的对应有地铁出行网络信息的城市范围进行对比,以确定手机是否在指定的城市范围内。云端可以将对比结果发送给感知模块,感知模块可以基于云端的对比结果,确定是否触发城市围栏。感知模块可以周期性地执行上述步骤。也就是说,感知模块可以不缓存城市信息,以降低系统缓存占用。
72.在另一种可能的实现方式中,感知模块可以从云端获取对应有地铁出行网络信息的城市的城市信息。感知模块可以基于获取到的城市信息,订阅城市围栏。
73.s201b,感知模块向智慧出行服务指示城市围栏触发。
74.示例性的,感知模块确定城市围栏触发,即手机在指定城市范围内后,感知模块可
向智慧出行服务指示城市围栏触发。
75.在一种可能的实现方式中,如上文所述,感知模块只获取到城市信息,在城市围栏触发后,感知模块可以向云端发送请求消息,请求消息中可以包括手机所属城市的名称,该消息可用于请求云端反馈所述城市对应的地铁出行网络信息。也就是说,感知模块在确定手机所处的城市之后,再获取该城市对应的地铁出行网络信息,可有减少手机的缓存占用。
76.s202a,智慧出行服务向感知模块指示注册刷码记录围栏。
77.可选地,智慧出行服务接收到感知模块发送的城市围栏触发指示后,可确定手机所在城市布设有地铁网络,并且,手机可以从云端获取到该城市的地铁出行网络信息,以执行地铁出行检测。
78.示例性的,智慧出行服务可以向感知模块发送指示信息,用于指示感知模块注册刷码记录围栏。其中,刷码记录围栏的作用可以理解为指示感知模块检测是否手机是否曾经成功刷码,也可以理解为,用户是否通过刷码乘过地铁。
79.示例性的,本技术实施例中,智慧出行服务(或感知模块)可记录有刷码记录,当用户每次通过手机中的第三方应用或者是系统应用提供的刷码服务成功刷码后,智慧出行服务可保存刷码成功记录。
80.可选地,对于一些用户,例如老人或不需要乘坐地铁的用户,其可能从未通过刷码方式乘坐地铁,对于这类用户,智慧出行服务无需为这类用户提供地铁出行检测,即,无需执行后续的基站检测、wi-fi检测等流程,以有效降低这类用户的手机的功耗。可选地,感知模块已订阅刷码记录围栏,当感知模块可在检测到手机刷码成功,可确定刷码记录围栏触发。举例说明,用户a从未刷码乘过地铁,感知模块订阅刷码记录围栏后,并未触发。某日,用户a通过支付应用中的刷码服务成功刷码并乘坐地铁,感知模块可检测到手机刷码成功,并且确定刷码记录围栏触发,执行s202b。
81.示例性的,对于安装有刷码服务应用,并且通过刷码服务刷码乘过车的手机,感知模块可检测到手机保存有刷码记录,可确定刷码记录围栏触发,执行s202b。
82.需要说明的是,本技术实施例中所述的刷码服务可选地为通过乘车二维码刷码的方式。对于通过nfc等方式刷卡进站的方式,则不适用于本技术。举例说明,若手机通过nfc的刷卡方式乘车,则感知模块不会触发刷码记录围栏,直至用户通过乘车码刷码成功后,才会触发刷码记录围栏。
83.s202b,感知模块向智慧出行服务指示刷码记录围栏触发。
84.示例性的,感知模块检测到刷码记录围栏触发后,可向智慧出行服务发送指示信息,用用户指示刷码记录围栏触发。
85.在一种可能的实现方式中,刷码围栏为可选地围栏。例如,手机在检测到城市围栏触发后,可以执行s203a。本技术不做限定。
86.s203a,智慧出行服务向感知模块指示注册家围栏、公司围栏和睡眠围栏。
87.示例性的,智慧出行服务向感知模块发送指示信息,用于指示感知模块订阅家围栏、公司围栏和睡眠围栏中的至少一个。感知模块响应于智慧出行服务的指示,注册家围栏、公司围栏和睡眠围栏中的至少一个。本技术实施例中以智慧出行服务指示感知模块订阅家围栏、公司围栏和睡眠围栏为例进行说明。需要说明的是,本技术实施例中的围栏仅为示意性举例,在其他实施例中,还可以包括其它条件的围栏,例如可以是时间围栏,例如时
间围栏可以指示本城市中最后一趟地铁停运时间至本城市首班地铁起始时间之间。本技术不做限定。
88.示例性的,家围栏可以理解为是当感知模块检测到手机所处位置为用户家中,则可不执行后续的步骤,当感知模块检测到用户离家之后,可确定家围栏触发。
89.示例性的,公司围栏可以理解为是当感知模块检测到手机所处位置为用户公司中,则可不执行后续的步骤,当感知模块检测到用户离开公司之后,可确定公司围栏触发。
90.需要说明的是,在其他实施例中,本步骤中的围栏还可以包括学校围栏等其它围栏,其具体处理方式与公司围栏和家围栏类似,此处不再赘述。
91.示例性的,感知模块可预先获取到家围栏信息、公司围栏信息和睡眠围栏信息。感知模块接收到智慧出行服务的指示后,可基于获取到的家围栏信息、公司围栏信息和睡眠围栏信息,订阅相应的围栏。一个示例中,家围栏信息、公司围栏信息和睡眠围栏信息可以保存在云端,感知模块在获取地铁网络信息时,可从云端获取到家围栏信息、公司围栏信息和睡眠围栏信息。需要说明的是,家围栏信息、公司围栏信息和睡眠围栏信息是与用户账号对应的,用户登录手机后,可从云端获取到与用户账号对应的家围栏信息等。也就是说,不同的用户账号所对应的家围栏信息等是不相同的。另一个示例中,家围栏信息、公司围栏信息和睡眠围栏信息可以保存在本地。
92.可选地,家围栏信息可以包括但不限于以下至少之一:用户家庭中的wi-fi信息、用户家庭附近的蜂窝网络信息、用户家庭的地理位置信息等。举例说明,感知模块可获取到手机当前连接的wi-fi信息或扫描到的wi-fi信息,当感知模块检测到连接的wi-fi或扫描到的wi-fi中包括用户家中的wi-fi信息(例如wi-fi名称),感知模块可确定用户位于家中。再举例说明,感知模块可获取到手机当前连接的基站信息或扫描到的基站信息,当感知模块检测到连接或扫描到的基站为用户家附近的基站,则可确定用户在家中。再举例说明,感知模块可获取到手机的地理位置信息,当感知模块检测到用户的地理位置在用户家附近区域,则可确定用户在家中。需要说明的是,用户家庭中的wi-fi信息、蜂窝信息以及地理位置信息等,可以是感知模块获取到的,也可能是感知模块从手机中的其它应用获取到的,还可能是从云端获取到的,也可以是用户设置的,本技术不做限定。例如,感知模块可对用户的地理位置统计,当用户在预定时长(例如4小时)内,持续在一个范围内移动,可认为该地理位置所属区域(例如500米内)为用户的家或者是公司。再例如,感知模块连接wi-fi之后,可对连接时长进行统计,若连接某个wi-fi的次数大于阈值,并且每次连接的时长大于阈值(例如2小时),可认为该wi-fi为用户家庭wi-fi或者是公司wi-fi。再例如,感知模块连接蜂窝网络后,可统计蜂窝网络的连接时长,若在预定时长(例如2小时)内未发生切换,则可确认该蜂窝网络覆盖用户家庭或用户公司。
93.可选地,感知模块可以基于上述多个信息,以检测用户是否在家,即对家围栏进行监控。当满足其中任意一个条件时,例如感知模块检测到手机连接wi-fi,则可确定用户在家。可选地,当感知模块检测到与家中的wi-fi连接断开预定时长(例如10分钟)后,可确定家围栏触发,即用户离家。
94.需要说明的是,若感知模块通过检测到家围栏中的多个条件都满足,例如,手机连接家中的wi-fi,并且手机的地理位置在用户家庭范围内,感知模块确定用户在家。在判断用户是否离家时,只要家围栏中的任意一个条件触发,即可确定用户离家,例如,感知模块
检测到wi-fi断开预定时长,但未检测到手机的地理位置移出用户家庭范围,则感知模块仍确定用户离家,即家围栏触发,执行s203b。当然,在其他实施例中,感知模块也可以在检测到的条件都触发的情况下,例如,感知模块检测到wi-fi断开后,再进一步检测到手机的地理位置移出家庭范围外之前,感知模块不触发家围栏,在检测到手机的地理位置移出家庭范围外后,感知模块确定用户离家,即家围栏触发,从而防止误判。
95.示例性的,对于公司围栏,其判断方式与家围栏类似,此处不再赘述。
96.示例性的,睡眠围栏可指示睡眠时间区间,例如可以是23:00至次日5:00,在该事件区间内,用户通常是在睡眠,无需执行后续的地铁出行检测。感知模块可对时间进行检测,当进入睡眠围栏指示的时间,则无需执行后续的步骤。当感知模块确定当前时间不在睡眠围栏指定的时间范围内,则可确定睡眠围栏触发。
97.需要说明的是,若感知模块订阅上述家围栏、公司围栏等多个围栏,当满足任意一个围栏指定的条件,则不执行后续的步骤,也就是说,感知模块确定用户在家,无需执行后续的步骤,从而降低功耗。
98.进一步需要说明的是,感知模块订阅上述围栏后,可实时进行监控,在执行下面实施例中的任意一个步骤时,若s203a中的任意一个围栏满足,则停止执行当前步骤,并对s203a中的围栏进行检测。举例说明,若感知模块在执行下面的s204a时,感知模块检测到手机连接用户家庭的wi-fi,感知模块可确定用户在家,并执行s203a,即对家围栏进行订阅,在用户再次离家后,再执行后续的步骤。
99.进一步需要说明的是,在本步骤中,若用户检测到满足围栏的条件,可确定用户在家,而当用户检测到手机不满足围栏的条件,例如断开围栏所指示的wi-fi,则可确定用离开家,即围栏触发。
100.举例说明,如图4a所示,用户当前位置是在家中,感知模块订阅家围栏、公司围栏和睡眠围栏后,感知模块获取到用户当前位置信息。感知模块基于用户当前位置,确定用户在家中。感知模块对家围栏进行检测,以检测用户是否离开家。请参照图4b,示例性的,用户离开家后,感知模块基于用户的当前位置,确定用户离开家,感知模块确定家围栏触发,并执行s203b。
101.s203b,感知模块向智慧出行服务指示家围栏、公司围栏、睡眠围栏触发。
102.示例性的,感知模块检测到上述任一围栏触发,可向智慧出行服务发送指示信息,以指示对应的围栏触发。例如,感知模块检测到用户离开家,即确定家围栏触发,感知模块向智慧出行服务发送指示信息,用于指示家围栏触发。
103.s204a,智慧出行服务指示感知模块注册运动状态围栏。
104.示例性的,智慧出行服务响应于感知模块指示的家围栏、公司围栏和/或睡眠围栏触发,智慧出行服务向感知模块发送指示信息,用于指示感知模块订阅运动状态围栏。
105.示例性的,感知模块响应于智慧出行服务的指示,订阅运动状态围栏后,可周期性地获取手机的运动状态。一个示例中,感知模块可通过调用手机中的传感器(例如加速度传感器等)以获取手机的运动状态。另一个示例中,感知模块也可以通过手机中的其它可实时获取手机的运动状态应用中,获取到手机的运动状态。
106.示例性的,运动状态围栏围栏可用于指示感知模块对手机的运动状态进行检测,以检测用户是否处于步行状态。示例性的,感知模块可设置有各运动状态对应的阈值,例如
设置有步行状态阈值、骑行状态阈值、乘坐地铁状态阈值、乘坐汽车状态阈值等。需要说明的是,各阈值可以是一个数值,也可以是一个范围,本技术不做限定。感知模块可基于从传感器获取到的参数,与设置的各阈值进行比较,以确定运动状态。例如,若感知模块基于从传感器获取到的参数,检测到参数满足步行状态阈值,则可确定运动状态为步行状态。再例如,若感知模块基于从传感器获取到的参数,检测到参数满足骑行状态阈值,则可确定运动状态为骑行状态。
107.一个示例中,若感知模块基于获取到的手机的运动状态,确定当前用户为步行状态,则确定运动状态围栏触发,执行s204b。
108.另一个示例中,若感知模块基于获取到的手机的运动状态,确定当前用户非步行状态,例如是骑行状态或者是乘车状态,可确定运动状态围栏未触发。
109.举例说明,如图4b所示,用户离开家后,智慧出行服务基于感知模块的指示,确定用户离开家。智慧出行服务指示感知模块订阅运动状态围栏。感知模块响应于智慧出行服务的指示订阅运动状态围栏后,周期性地获取手机的运动状态。用户离开家后,骑行向地铁站移动。感知模块可检测到手机的运动状态非步行。请参照图4c,示例性的,用户到达地铁站附近,用户下车步行至地铁站。示例性的,感知模块可获取到手机当前的运动状态,并确定手机的运动状态(也可以理解为是用户的运动状态)为步行,感知模块可确定运动状态围栏触发,执行s204b。
110.需要说明的是,在本技术实施例中,感知模块订阅运动状态围栏后,可周期性地对运动状态围栏进行检测。在感知模块执行下面实施例中的任意步骤时,如果感知模块检测到手机的运动状态非步行,则重新执行s204a,即继续对运动状态围栏进行检测。举例说明,仍参照图4c,用户步行时,感知模块可确定运动状态围栏触发,感知模块执行后续的步骤,在感知模块在执行图3中的任意步骤时,感知模块获取到手机的运动状态非步行,感知模块可结束当前步骤。例如,用户步行至地铁站附近,感知模块可正在对及刻围栏进行检测(具体方式将在下文中说明),用户再次骑车行进。感知模块检测到手机的运动状态变为非步行状态,感知模块可解除当前步骤,即不再对及刻围栏进行检测,而是重复执行s204a中所描述的,对运动状态进行检测。
111.s204b,感知模块向智慧出行服务指示运动状态围栏触发。
112.示例性的,感知模块确定用户步行,即确定运动状态围栏触发后,向智慧出行服务发送指示信息,用于指示运动状态围栏触发。
113.结合图2,图3为示例性示出的地铁出行检测方法流程示意图,请参照图3,具体包括:
114.s301a,智慧出行服务向感知模块指示注册及刻围栏。
115.示例性的,智慧出行服务向感知模块发送指示信息,用于指示感知模块注册及刻围栏。感知模块响应于智慧出行服务的指示,注册及刻围栏。
116.示例性的,及刻围栏用于指示感知模块对即刻围栏所指示的条件进行检测。如图4d所示,感知模块检测到满足及刻围栏的条件时,即可确定及刻围栏触发,执行s301b。可选地,及刻围栏的条件可以包括但不限于以下至少之一:地铁附近的蜂窝网络、地铁的地理范围等。
117.示例性的,地铁附近的蜂窝网络可以为覆盖地铁的小区,具体描述可参照上文中
的家附近蜂窝网络的相关内容,此处不再赘述。示例性的,当感知模块检测到手机扫描到或者是切换至地铁附近的蜂窝网络,即可确定用户到达地铁站附近,即确定该地铁站的及刻围栏触发。
118.示例性的,地铁的地理范围可选地为地铁站的预设范围内,例如可以是500米,可以根据实际需求设置,本技术不做限定。示例性的,当感知模块检测到手机的地理位置位于地铁的地理范围内,可确定及刻围栏触发。
119.需要说明的是,本技术实施例中所述的“地铁站附近”可选地为用户在地铁站附近200米范围内,或者是500米范围内,具体取决于及刻围栏所指示的地理范围的大小或者是地铁附近的基站的蜂窝网络覆盖范围大小。可选的,每个地铁站的及刻围栏所对应的范围相同或不同。举例说明,地铁站a的及刻围栏所指示的地理范围与地铁站b的及刻围栏所指示的地理范围不相同,其中,地铁站a的及刻围栏所指示的地理范围为地铁站a的500米范围内,地铁站b的及刻围栏所指示的地理范围为地铁站b的600米范围内。也就是说,当手机检测到用户到达地铁站a的500米范围内时,可确定地铁站a的及刻围栏触发。当手机检测到用户到达地铁站b的600米范围内时,可确定地铁站b的及刻围栏触发。
120.示例性的,如上文所述,感知模块可从云端获取到所在城市内的地铁出行网络信息,其中包括各地铁站的站点信息(例如包括站点名称、蜂窝网络信息等,概念可参照上文,此处不再赘述)。感知模块可基于所在城市的各地铁站的站点信息中与及刻围栏所指定的条件对应的信息(可以简称为及刻围栏信息),订阅及刻围栏。
121.例如及刻围栏信息可以包括但不限于以下至少之一:地铁站的地理位置和地铁站附近的蜂窝网络信息。可选地,地铁站的站点信息中可以包括地铁站的地理范围,每个地铁站对应的地理范围大小相同或不同。可选地,若各地铁站的站点信息中包括的是地铁站的地理位置,则感知模块可基于设定的范围大小(例如500米)确定地铁站的地理范围。
122.举例说明,以及刻围栏的条件包括地铁附近的蜂窝网络为例。请参照图4e,示例性的,基站b的信号覆盖国家图书馆站,如上文所述,云端保存有各地铁站的站点信息(概念可参照上文,此处不再赘述)。感知模块可从云端获取到国家图书馆站的站点信息,站点信息包括国家图书馆站的名称、国家图书馆站的地理位置、国家图书馆站内的wi-fi信息以及国家图书馆站附近的蜂窝网络信息(即基站b的标识信息)。
123.示例性的,感知模块可从云端获取到各地铁站的站点信息,感知模块可基于获取到的各地铁站的站点信息,订阅各地铁站的及刻围栏。例如,国家图书馆站的及刻围栏是基于国家图书馆站的蜂窝网络信息设置的。即,当感知模块检测到手机接入国家图书馆站的及刻围栏所指示的蜂窝网络后,即可确定国家图书馆站的及刻围栏触发,也可以理解为用户到达国家图书馆站附近。
124.举例说明,请参照图4e,用户处于用户位置a时,手机接入基站a。手机基于蜂窝网络的配置,可周期性地或者是触发性地扫描附近的蜂窝网络。示例性的,本技术实施例中所述的扫描可选地为手机可以接收到基站(或者是下文中的接入点)发送的探测信号,探测信号中可选地包括基站(或接入点)的标识信息、地址信息等信息。
125.仍参照图4e,示例性的,手机在用户位置a上,只扫描到基站a。感知模块将基站a的标识信息与各地铁站的及刻围栏所指示的蜂窝网络进行匹配,感知模块确定未匹配成功,不作处理。
126.示例性的,用户步行至用户位置b。手机仍接入基站a,在当前位置(即用户位置b),手机可扫描到基站a和基站b,并获取到基站a和基站b的标识信息。
127.一个示例中,感知模块可将基站a的标识信息与基站b的标识信息分别与各地铁站的及刻围栏指示的蜂窝网络进行匹配。感知模块可确定基站b的标识信息与国家图书馆站的及刻围栏指示的蜂窝网络匹配成功,感知模块可确定用户到达国家图书馆站附近,即可确定国家图书馆站的及刻围栏触发。
128.在另一个示例中,感知模块可将基站a的标识信息与基站b的标识信息分别与各地铁站的及刻围栏指示的蜂窝网络进行匹配。感知模块可确定基站b的标识信息与国家图书馆站的及刻围栏指示的蜂窝网络匹配成功。感知模块可进一步获取与基站b之间的通信质量参数。可选地,通信质量参数包括但不限于以下至少之一:snr(signal noise ratio,信噪比)、rsrp(reference signal receiving power,参考信号接收功率)、rsrq(reference signal receiving quality,参考信号接收质量)、rssi(received signal strength indication,接收的信号强度指示)等。示例性的,通信质量参数可以是手机(例如可以是图1中的移动通信模块150)基于接收到的探测信号获取到的,具体获取方式可参照已有技术,本技术不再赘述。可选地,若获取到的通信质量参数大于或等于设定的阈值(可以根据实际需求设置,本技术不做限定),感知模块可确定国家图书馆站的及刻围栏触发。可选地,若获取到的通信质量参数小于设定的阈值,则不作处理,也可以理解为,感知模块重复执行上述步骤。需要说明的是,各地铁站的及刻围栏对应的地铁网络信息中可以包括上文所述的与通信质量参数对应的阈值,也就是说,感知模块获取到的各地铁站的地铁出行网络信息中可包括设定的阈值(也可以称为通信质量参数阈值),各地铁站对应的通信质量参数阈值可以相同,也可以不同,本技术不做限定。可选地,通信质量参数所对应的阈值可以是云端基于用户上报的通信质量参数确定的。例如,手机刷码成功(包括进站和出站)后,手机可获取当前站点的蜂窝网络信息,包括蜂窝网络的标识信息、以及蜂窝网络的信号强度信息。手机可将获取到的蜂窝网络信息上报至云端。云端可接收到多个用户上报的蜂窝网络信息,并基于获取到的蜂窝网络信息,获取每个站点的蜂窝网络的通信质量参数对应的阈值。例如,云端可以每个周期(例如3天,可根据实际需求设置,本技术不做限定)获取本周期内所有用户上报的同一个地铁站的蜂窝网络的通信质量参数的平均值,并将该平均值作为该地铁站的蜂窝网络的通信质量参数对应的阈值。可选地,云端也可以将本周期内的平均值的上下1个标准差的范围作为阈值范围,也就是说,当手机检测到蜂窝网络的通信质量参数在该阈值范围内,即可确定满足及刻围栏的条件。
129.在又一个示例中,当用户处于用户位置b时,感知模块确定及刻围栏检测周期(可以根据实际需求设置,本技术不做限定)触发,感知模块检测当前接入的基站。感知模块可从移动通信模块150获取到当前接入的基站为基站a,即与上一次检测(例如用户位置a)时的结果相同,感知模块不作处理。当用户步行至用户位置c时,手机切换到基站b,即手机接入基站b。感知模块确定及刻围栏检测周期触发,感知模块获取当前接入的基站的信息。感知模块可从移动通信模块150获取到当前接入的基站为基站b的标识信息。感知模块将基站b的标识信息与各地铁站的及刻围栏指示的蜂窝网络进行匹配。感知模块确定基站b的标识信息与国家图书馆站的及刻围栏指示的蜂窝网络匹配成功,感知模块可确认用户在国家图书馆站附近,即可确定国家图书馆站的及刻围栏触发。
130.在又一个示例中,移动通信模块150可以在每次切换基站后,向感知模块上报切换后的基站的标识信息。例如,在用户位置b时,手机未执行蜂窝网络切换,移动通信模块150不上报任何信息。当用户向地铁站方向移动(例如可能是在用户位置b与用户位置c之间的任意位置),手机检测到满足切换条件(具体细节可参照已有技术,本技术不做限定),手机切换到基站b。手机接入基站b后,移动通信模块150向感知模块上报切换后的基站,即基站b的标识信息。感知模块可基于基站b的标识信息,确定国家图书馆站的及刻围栏触发。
131.举例说明,以及刻围栏的条件包括地铁站的地理范围为例。请参照图4e,示例性的,用户在用户位置b时,感知模块确定及刻围栏检测周期触发,感知模块获取手机当前的位置信息。感知模块将位置信息与各地铁站的及刻围栏所指示的地理范围匹配,并确定匹配失败,即,用户不在地铁站附近。用户步行至用户位置c时,感知模块确定及刻围栏检测周期触发,感知模块获取手机当前的位置信息。感知模块将位置信息与各地铁站的及刻围栏所指示的地理范围匹配,可确定与国家图书馆站的及刻围栏指示的地理范围匹配,感知模块确定国家图书馆站的及刻围栏触发。
132.示例性的,若感知模块订阅的及刻围栏包括多个条件,例如包括地铁附近的蜂窝网络和地铁站的地理范围,当任意一个条件满足,例如检测到手机位于地铁站的地理范围内;或者,检测到手机接入地铁站附近的蜂窝网络;或者,检测到手机位于地铁站的地理范围内,且手机接入地铁站附近的蜂窝网络,即可确定及刻围栏触发。
133.可选地,与上文中所述的运动状态围栏等围栏类似,感知模块订阅及刻围栏后,感知模块在执行下面实施例中的步骤时,同样会基于及刻围栏进行检测。举例说明,若在执行s303a,即感知模块对高精度围栏进行检测时,若感知模块检测到用户离开地铁站附近,即,不满足及刻围栏所指示的条件,则感知模块可停止当前流程,并对及刻围栏进行检测。例如用户到达地铁站附近后,感知模块确定及刻围栏触发,感知模块订阅高精度围栏,并对高精度围栏所指示的条件进行检测。感知模块同时还在检测及刻围栏对应的条件,如果用户在地铁站附近停留,并未进入高精度围栏的范围,并且,用户又离开了及刻围栏所指示的范围,感知模块可检测到用户离开及刻围栏。可选地,感知模块可停止对高精度围栏所指示的条件进行检测。可选地,感知模块可解除高精度围栏。可以理解为,在本技术实施例中,各围栏是层叠关系,在外层围栏触发,并且保持触发状态下,才对下一层围栏所指示的条件进行检测,以降低功耗。可选地,如果检测到当前不满足更外层的围栏所指示的条件,则停止对当前围栏所指示的条件进行检测。可选地,围栏可以保留,而只是不对围栏所指示的条件进行检测。可选地,感知模块也可以解除围栏,再外层各围栏触发之后,再重新订阅围栏,本技术不做限定。需要说明的是,本技术实施例中所述的“订阅”围栏可以理解为是建立围栏,也可以理解为是已经提前建立围栏,而在“订阅”之后才开始对围栏所指示的条件进行检测,本技术不做限定,下文中不再重复说明。
134.s301b,感知模块向智慧出行服务指示及刻围栏触发。
135.示例性的,感知模块向智慧出行服务发送指示信息,用于指示及刻围栏触发。可选地,指示信息中可以包括站点名称,用于指示触发的及刻围栏所对应的站点。
136.s302a,智慧出行服务向感知模块指示注册高精度围栏。
137.示例性的,智慧出行服务接收到感知模块的指示,确定地铁站(例如国家图书馆地铁站)的及刻围栏触发后,向感知模块发送指示信息,用于指示感知模块注册高精度围栏。
可以理解为,及刻围栏是粗范围的围栏,当感知模块确定及刻围栏触发,即可确定用户到达地铁站附近。随后,手机可执行后续的高精度围栏的识别。也就是说,当粗精度围栏满足之后,才执行高精度围栏的识别,从而有效降低设备功耗。
138.示例性的,如上文所述,感知模块已从云端获取到各地铁站的站点信息,其中包括当前地铁站,例如国家图书馆地铁站的站点信息,包括但不限于以下至少之一:地铁站名称、地铁站位置、地铁站内的wi-fi信息、蓝牙网络信息、地铁站附近的蜂窝网络信息等。感知模块响应于智慧出行服务的指示,可基于已获取到的国家图书馆站对应的站点信息,订阅高精度围栏。
139.可选地,高精度围栏的条件包括但不限于以下至少之一:地铁闸机附近的蓝牙网络信息、地铁闸机附近的wi-fi网络信息等。相应的,感知模块可以基于国家图书馆站的站点信息中的wi-fi信息和/或蓝牙网络信息,订阅国家图书馆站的高精度围栏,以检测用户是否到达国家图书馆站的闸机附近。
140.请参照图4f,示例性的,感知模块订阅高精度围栏后,可对高精度围栏所指示的条件进行检测。当用户继续向地铁闸机方向步行至图4f中所示的用户位置时,感知模块可检测到满足高精度围栏所指示的条件,感知模块可确定高精度围栏触发。也就是说,感知模块可确认用户到达地铁站的闸机附近。
141.下面以高精度围栏指示的条件包括地铁站附近的wi-fi网络为例进行说明。需要说明的是,高精度围栏指示的条件包括蓝牙网络时的场景与wi-fi网络的场景的处理方式类似,本技术不再重复说明。请参照图4g,示例性的,国家图书馆站的闸机附近包括一个或多个接入点(access point,ap),例如可以包括ap1、ap2和ap3。ap1的wi-fi1网络、ap2的wi-fi2网络和ap3的wi-fi3网络覆盖国家图书馆站内的闸机所在区域。感知模块从云端获取到的国家图书馆站的站点信息中包括国家图书馆站的wi-fi网络信息。其中,wi-fi网络信息中包括但不限于:ap1的接入点信息、ap2的接入点信息和ap3的接入点信息。接入点信息包括但不限于:ap的名称(也可以是wi-fi的名称)、ap的wi-fi地址信息等。
142.感知模块可基于从云端获取到的国家图书馆站的wi-fi网络信息,订阅国家图书馆站的高精度围栏。感知模块可通过手机的无线通信模块160获取到wi-fi扫描结果。一个示例中,感知模块可以指示无线通信模块160执行wi-fi扫描,以获取附近的wi-fi信息(包括ap的名称、地址信息等)。另一个示例中,无线通信模块160可周期性地扫描附近wi-fi,感知模块可以调用无线通信模块160的扫描结果。又一个示例中,无线通信模块160可以响应于手机中的其它应用执行wi-fi扫描,感知模块同样可以获取到扫描结果。本技术实施例中以感知模块周期性地从无线通信模块160获取扫描结果为例进行说明。
143.示例性的,感知模块基于扫描到的结果,检测是否进入国家图书馆站的高精度围栏。仍参照图4g,示例性的,当用户从图4e中的用户位置c步行至图4g中的用户位置d时,感知模块指示无线通信模块160进行wi-fi扫描。假设该位置上不存在wi-fi网络覆盖,则无线通信模块160未扫描到wi-fi网络。无线通信模块160将扫描结果上报给感知模块。感知模块基于获取到的扫描结果,确定未触发高精度围栏。
144.请继续参照图4g,示例性的,用户步行至用户位置e。在该位置上,无线通信模块160可扫描到wi-fi1网络,并获取到ap1的接入点信息。示例性的,无线通信模块160将扫描结果上报给感知模块。感知模块获取到ap1的接入点信息。感知模块将ap1的标识信息与国
家图书馆站的高精度围栏指示的wi-fi网络进行匹配,并确定匹配成功。感知模块确定国家图书馆站的高精度围栏触发。也就是说,用户已到达国家图书馆站的闸机附近。
145.在一种可能的实现方式中,感知模块可基于接收到的wi-fi信号,确定wi-fi网络的通信质量参数(概念可参照上文),当wi-fi网络的通信质量参数大于阈值,即可确定高精度围栏触发。示例性的,wi-fi网络的通信质量参数对应的阈值的获取方式可参照上文中的蜂窝网络的阈值的获取方式,此处不再重复说明。
146.s302b,感知模块向智慧出行服务指示高精度围栏触发。
147.示例性的,感知模块确定高精度围栏触发后,向智慧出行服务指示高精度围栏触发。
148.在一种可能的实现方式中,智慧出行服务确定高精度围栏触发后,可以进一步确定用户当前所处的地铁站(例如国家图书馆站)是否为本次地铁出行的起始站。可选地,如上文所述,智慧出行服务或感知模块可保存有刷码记录,刷码记录可选地包括但不限于:进/出站信息、站点信息等。示例性的,进/出站信息用于指示刷码记录是对应于出站或进站。站点信息用于指示刷码进站或出站的地铁站。智慧出行服务可获取最近一次的刷码记录。当最近一次刷码记录为出站,则可确定用户当前所处站为起始站,执行s303a。另一个示例中,当最近一次刷码记录为进站,则可确定当前站点非起始站,可以理解为,用户已经刷码进站,结束当前流程,并重新执行s201a。
149.在另一种可能的实现方式中,城市内的一些站点可能只设置有及刻围栏,而为设置有高精度围栏。例如,一些站点附近有蜂窝网络,但是站点内没有蓝牙网络或者wi-fi网络,相应的,对于这些站点,云端存储的站点信息中不包括这些站点的wi-fi信息等用于订阅高精度围栏的信息。对于这类站点,感知模块订阅及刻围栏并确定站点的及刻围栏触发后,检测到未获取到该站点的高精度围栏所需要的信息,感知模块无需订阅高精度围栏,而执行s303a,即执行后续的室内外检测。
150.在又一种可能的实现方式中,对于一些站点,例如站点与商场是连接的,并且站点是位于地下的,感知模块可以不对这类站点执行室内外检测,以进一步节约功耗,本技术不做限定。
151.s303a,智慧出行服务向感知模块指示注册室内围栏。
152.示例性的,智慧出行服务向感知模块发送指示信息,用于指示感知模块注册室内围栏,以检测用户是否进入地铁站。举例说明,请参照图5的(1),地铁站内的wi-fi可能通过地铁的门漏出,即,当手机位于图5的(1)所示的用户位置1时,手机可扫描到地铁站内的wi-fi。相应的,感知模块在该情况下,确定高精度围栏触发。如果在高精度围栏触发(或者是确认当前站为起始站后)的情况下,手机弹出乘车卡片(具体概念将在下面实施例中说明),则对于路过地铁站而非乘车的用户,不适宜的卡片弹出将会对用户造成干扰。在本技术实施例中,手机可进一步结合室内外判断,以降低乘车卡片误弹出的问题概率。
153.示例性的,感知模块响应于智慧出行服务的指示,订阅室内围栏,以检测用户是否进入地铁站。室内围栏所指示的条件包括但不限于以下至少之一:gps搜星情况和光照情况。需要说明的是,本技术实施例中仅以gps搜星情况和光照情况为例进行说明。在其他实施例中,感知模块还可以基于其他条件订阅室内围栏,例如可以是基于检测到的噪音等条件,本技术不做限定。
154.示例性的,感知模块订阅室内围栏,并且室内围栏指示的条件包括gps搜星情况的场景下,感知模块指示手机中的gps模块,以搜索定位卫星。感知模块可周期性地(例如周期时长为5s,可根据实际需求设置,本技术不做限定)获取定位卫星搜索结果。可选地,搜索结果包括但不限于:搜索到的定位卫星数量和与每个定位卫星之间的通信质量参数(概念可参照上文)。
155.在一种可能的实现方式中,若感知模块在本周期内获取到的定位卫星搜索结果中所指示的定位卫星数量小于卫星数量阈值,和/或,通信质量参数小于卫星通信质量参数阈值,感知模块可确定用户进入室内,即室内围栏触发。也就是说,一个示例中,当感知模块检测到卫星数量减小至阈值,可确定室内围栏触发。另一个示例中,当感知模块检测到卫星的通信质量参数降低至阈值,可确定室内围栏触发。又一个示例中,当感知模块检测到卫星的数量减小至阈值,并且,通信质量参数降低至阈值,可确定室内围栏触发。
156.一个示例中,卫星数量阈值可选地为上一周期获取到的卫星数量的三分之一(也可以是二分之一,可根据实际需求设置,本技术不做限定)。通信质量参数阈值可选地为上一周期获取到的通信质量阈值的三分之一(也可以是二分之一,可根据实际需求设置,本技术不做限定)。也就是说,当本周期内搜索到的定位卫星数量小于上一个周期搜索到的定位卫星数量的三分之一,并且本周期内获取到的卫星通信质量参数小于上一个周期内获取到的卫星通信质量参数的三分之一,则确定用户进入室内,室内围栏触发。另一个示例中,卫星数量阈值和卫星通信质量参数阈值可以是设定的固定阈值,本技术不做限定。可选地,各地铁站所对应的卫星数量阈值和卫星通信质量参数阈值可以相同或不同,本技术不做限定。
157.在另一种可能的实现方式中,如上文所述,感知模块在订阅高精度围栏后,可持续对高精度围栏进行检测。当感知模块检测到手机不在高精度围栏内,例如扫描不到地铁站内的wi-fi网络或蓝牙网络,感知模块可确定用户未进入室内,并重新对高精度围栏进行检测。
158.在又一种可能的实现方式中,感知模块可设置检测周期围栏,检测周期围栏可指示最大检测次数。举例说明,以检测周期围栏指示的最大检测次数为3次。相应的,感知模块在第3次检测周期到达时刻,获取gps搜星情况,若gps搜星情况仍然不满足室内围栏,感知模块结束当前流程,并返回s201a。
159.示例性的,感知模块订阅室内围栏,并且室内围栏指示的条件包括光照情况的场景下,感知模块指示手机中的传感器(例如接近光传感器),以获取光照检测结果。光检测结果包括但不限于光照强度。
160.在一种可能的实现方式中,若感知模块在本周期内获取到的光照强度满足设定条件,则可确定室内围栏触发。一个示例中,设定条件可以为本周期内的光照强度与上一周期获取到的光照强度之间的差值大于阈值(可根据实际需求设置,本技术不做限定)。可以理解为,若本周期内的光照强度与上一周期内的光照强度之间的波动较大,则可认为是用户进入地铁站内。举例说明,在白天,用户进站后,地铁站内的光照强度将小于室外。相应的,感知模块可检测到当前周期获取到的光照强度可能是上一个周期获取到的光照强度的二分之一。再例如,在夜间,用户进站后,地铁站内的光照强度大于室外。相应的,感知模块可检测到当前周期获取到的光照强度可能是上一个周期获取到的光照强度的二倍。另一个示
例中,设定条件可以是设定的阈值,例如,在5点-17点,光照强度阈值设置为光照强度阈值1,在17点~5点,光照强度阈值设置为光照强度阈值2。可选地,光照强度阈值1大于光照强度阈值2。感知模块可基于当前时间以及本周期内获取到的光照强度,以确定是否满足设定条件。例如,在早上6点,感知模块获取到的光照强度小于光照强度阈值1,则可确定用户进入地铁站,即室内围栏触发。再例如,在晚上8点,感知模块获取到的光照强度大于光照强度阈值2,则可确定用户进入地铁站,即室内围栏触发。其他未描述部分可参照gps卫星情况条件的相关内容,此处不再赘述。
161.下面结合图5所示的应用场景示意图对室内围栏检测进行举例说明。请参照图5的(1),示例性的,用户步行至用户位置1,其中,用户位置1在地铁站的门外,且地铁站内的wi-fi网络覆盖门外部分区域。感知模块确定检测到国家图书馆站内的wi-fi网络,并确定高精度围栏触发。感知模块向智慧出行服务指示高精度围栏触发。智慧出行服务确定本站为起始站之后,指示感知模块注册室内围栏。感知模块指示手机的gps模块开始进行搜星,以获取搜星结果,搜星结果中包括搜索到的定位卫星数量1和通信质量参数1。并且,感知模块从传感器获取到当前光照强度1。感知模块检测到定位卫星数量1大于卫星数量阈值,通信质量参数1大于通信质量参数阈值,并且,光照强度1大于光照强度阈值1,感知模块确定不满足室内围栏的条件。请参照图5的(2),用户步行至用户位置2,用户位置2位于地铁站室内,并且地铁站内的wi-fi网络覆盖该区域。感知模块确定室内检测周期到达,感知模块指示手机的gps模块开始进行搜星,以获取搜星结果,搜星结果中包括搜索到的定位卫星数量2和通信质量参数2。并且,感知模块从传感器获取到当前光照强度2。感知模块检测到定位卫星数量2小于卫星数量阈值,通信质量参数2小于通信质量参数阈值,并且,光照强度2小于光照强度阈值2,感知模块确定满足室内围栏的条件,即室内围栏触发。
162.s303b,感知模块向智慧出行服务指示室内围栏触发。
163.示例性的,感知模块确定室内围栏触发后,向智慧出行服务发送指示信息,用于指示室内围栏触发。智慧出行服务响应于感知模块的指示,确定室内围栏触发,即用户进入地铁站,并到达闸机附近。智慧出行服务可弹出乘车卡片。
164.可选地,感知模块向智慧出行服务发送的指示信息中可包括当前站点的站点名称。智慧出行服务可基于站点名称,生成乘车卡片,并在显示屏中显示乘车卡片。
165.图6为示例性示出的乘车卡片示意图。请参照图6的(1),示例性的,智慧出行服务在显示界面601中显示乘车卡片602。示例性的,乘车卡片602可以位于显示界面601的上部显示区域。可选地,在其他实施例中,乘车卡片602也可以在其他位置,并且尺寸也可以根据实际需求设置,本技术不做限定。
166.仍参照图6的(1),乘车卡片602中可包括提示信息“地铁乘车码”,用于指示该乘车卡片602为地铁出行卡片。可选地,提示信息也可以是将要跳转的应用的名称,例如“xx应用地铁乘车码”。本技术不做限定。
167.请继续参照图6的(1),示例性的,如上文所述,智慧出行服务可从感知模块获取到当前站点的名称,相应的,乘车卡片602中还可以包括但不限于:当前站点信息(例如当前站点的名称,即国家图书馆站)等信息。
168.可选地,乘车卡片602中还可以包括刷码选项6021。用户可点击刷码选项6021。如图6的(2)所示,手机接收到用户的点击操作,可显示支付应用的地铁乘车码界面603(也可
以称为地铁乘车码服务界面、地铁出行服务界面、刷码界面等)。地铁乘车码界面603中可包括但不限于:打车出行服务选项、公交出行服务选项、地铁出行服务选项604、机票出行服务选项以及地铁出行乘车码显示框605。其中,地铁出行乘车码显示框中包括但不限于提示信息(即“北京轨道交通乘车码”)以及地铁出行乘车码图形6051(也可以称为地铁乘车二维码、地铁乘车码等)。可选地,本技术实施例中以乘车码为二维码为例,在其他实施例中,乘车码也可以是条形码等,本技术不做限定。需要说明的是,本实例中仅以接收到用户点击刷码选项6021的操作后,跳转到支付应用的地铁乘车码界面为例进行说明。在其他实施例中,手机接收到用户点击刷码选项6021的操作之后所跳转的应用可以是,用户上一次使用的刷码应用,例如可以是支付应用,也可以是其他具有刷码服务(即地铁乘车码服务)的应用。可选地,跳转的应用也可以是用户经常使用的应用。本技术不做限定。
169.在一种可能的实现方式中,手机中可能未安装可用于刷码的应用,例如支付应用或聊天应用等具有地铁乘车码服务的应用。手机响应于接收到的用户点击刷码选项6021的操作,检测到手机中未安装有用于刷码的应用,智慧出行服务可从云端获取手机所在城市支持的用于刷码的应用。举例说明,智慧出行服务检测到手机中未安装有用于刷码的应用后,智慧出行服务可向云端发送应用推荐请求,可选地,应用推荐请求中包括手机当前所在城市信息,例如“北京”。云端响应于接收到的应用推荐请求,查找手机当前所在城市(例如北京)所支持的可用于刷码的应用。可选地,云端可将查找到的多个应用推荐给智慧出行服务。可选地,云端也可以将使用最多的用于刷码的应用推荐给智慧出行服务。以云端向智慧出行服务推荐支付应用为例进行说明。示例性的,智慧出行服务可在显示屏上显示提示框,提示框中可包括提示信息“下载支付应用后,可体验乘车码服务,是否前往应用市场下载”。提示框中可包括“取消”选项和“立即前往”选项。用户可点击“立即前往”选项,以在应用市场中下载支付应用。
170.在另一种可能的实现方式中,手机可能已安装用于刷码的应用,例如支付应用,但是,用户尚未登录该支付应用。示例性的,智慧出行服务检测到用户点击刷码选项6021操作,并跳转到支付应用后,支付应用检测到用户未登录,支付应用可显示用户登录界面。在用户成功登录(即输入验证码或者输入密码)后,支付应用显示地铁乘车码界面。
171.在又一个可能的实现方式中,手机可能已安装用于刷码的应用(仍以支付应用为例),且已经登录支付应用。但是,支付应用尚未开通地铁乘车码服务。也就是说,支付应用虽然包括地铁乘车码服务,但是由于其未开通地铁乘车码服务,其地铁乘车码服务的界面中暂不显示地铁乘车码。例性的,智慧出行服务检测到用户点击刷码选项6021操作,并跳转到支付应用的地铁乘车码界面后,支付应用检测到未开通地铁乘车码服务,支付应用可在地铁乘车码界面中显示“开通”选项,用户点击“开通”选项。支付应用响应于接收到的用户操作,开通地铁乘车码服务。地铁乘车码服务开通后,支付应用在地铁乘车码界面中显示地铁乘车码。
172.需要说明的是,本技术实施例中仅以显示界面601为桌面为例进行说明,在其它实施例中,显示界面601也可以为其它界面。
173.一个示例中,如图7a的(1)所示,手机处于锁屏状态。手机的锁屏界面701中可显示乘车卡片702。显示的位置可根据实际需求设置,本技术不做限定,其它描述可参照图6的相关描述,此处不再赘述。可选地,若手机处于熄屏状态,手机可切换到锁屏状态,并在锁屏界
面上显示乘车卡片。
174.另一个示例中,如图7a的(2)所示,用户可通过滑动手机显示屏,以显示负一屏界面703。手机的负一屏界面703中可显示乘车卡片704。其它描述可参照图6的相关描述,此处不再赘述。可选地,手机还可以在下拉菜单中显示乘车卡片。
175.在又一个示例中,如图7b的(1)所示,手机当前显示的界面为聊天应用(也可能是其他应用,本技术不做限定)界面,如图7b的(2)所示,手机的聊天应用界面705中显示乘车卡片706。可选地,在该场景中,若用户在预设时长内(例如5s内)未操作乘车卡片706,或者,用户从乘车卡片706的底部向上滑动(也可以是其它手势,可根据实际需求设置,本技术不做限定)乘车卡片706,手机取消乘车卡片706在当前界面(例如聊天应用界面)上的显示。示例性的,当手机响应于接收到的用户操作退出当前应用界面,并显示桌面时,手机可在桌面上显示乘车卡片。
176.在又一个示例中,如图7c的(1)所示,手机当前显示的界面为聊天应用界面。如图7c的(2)所示,手机的聊天应用界面705中显示悬浮控件707。可选地,悬浮控件707中可包括地铁出行图标(例如悬浮空间707中的黑色圆圈),以指示该悬浮控件707对应于地铁乘车码服务,以区分于其它悬浮控件。示例性的,用户点击悬浮控件707。如图7c的(2)所示,智慧出行服务响应于接收到的用户操作,将悬浮控件707展开显示。可选地,展开后的悬浮控件707中包括但不限于以下至少之一:当前站点名称(例如国家图书馆站)、对应的服务名称(例如地铁乘车码)以及刷码选项7071。示例性的,用户可点击刷码选项7071,以使得手机跳转到地铁乘车码界面,具体细节可参照上文,此处不再赘述。可选地,在其他实施例中,若智慧出行服务在手机的显示界面中显示悬浮控件707后,在预定的时长内(例如5s)未接收到用户点击悬浮控件707的操作,智慧出行服务隐藏悬浮控件707。一个示例中,悬浮控件707可以消失。另一个示例中,悬浮控件707可以只留一部分在显示界面的边缘显示。用户可以通过点击或滑动悬浮控件707在屏幕上剩余的显示部分,以展开悬浮控件707。又一个示例中,悬浮控件707可以淡化显示,淡化程度可根据实际需求设置,本技术不做限定。需要说明的是,手机在显示应用界面时,若需要弹出地铁乘车卡片或者是悬浮控件,可根据应用的设置选择相应的显示方式。例如,当手机显示视频应用时,可以显示地铁乘车卡片。当手机全屏显示视频画面时,可显示悬浮控件,具体可根据实际需求设置,本技术不做限定。进一步需要说明的是,图7c中所示的悬浮控件707的尺寸以及位置仅为示意性举例,本技术不做限定。
177.可选地,手机可以在上述界面(桌面、锁屏、负一屏等)中的至少一个界面显示乘车卡片。例如,手机可以在锁屏界面和桌面显示乘车卡片,即,手机在锁屏界面显示乘车卡片,手机响应于接收到的解锁操作显示桌面,桌面中包括乘车卡片。
178.在一种可能的实现方式中,智慧出行服务显示乘车卡片602的同时,还可以通过以下至少一种方式进行提醒:振动提示、声音提示(可通过扬声器或耳机播放提示音)、屏幕闪烁提示、指示灯闪烁提示等。
179.在另一种可能的实现方式中,手机的显示界面中显示的卡片可能包括多个,例如包括航班出行卡片、外卖提醒卡片等。智慧出行服务显示乘车卡片602,将其置顶显示。例如,手机当前显示的卡片包括航班出行卡片和外卖提醒卡片。手机可轮训的显示当前的两张卡片。假设当前显示的是航班出行卡片,示例性的,智慧出行服务生成乘车卡片602后,将乘车卡片602置顶显示,即当前显示的卡片为乘车卡片602,其它卡片叠加在乘车卡片602下
方。
180.在一种可能的实现方式中,智慧出行服务确定高精度围栏触发之后,即可弹出乘车卡片。另一个示例中,智慧出行服务在确定当前站为首站的情况下,即可弹出乘车卡片。
181.在另一种可能的实现方式中,若智慧出行服务关闭,智慧出行服务可向感知模块发送指示信息,用于指示解除所有围栏。感知模块响应于接收到的操作,解除所有围栏。举例说明,请参照图7d的(1),智慧助手服务界面708(即智慧出行服务)中包括但不限于一个或多个控件,例如包括、智慧语音选项、智慧视觉选项、智慧识屏选项以及“yoyo建议”选项等。用户可点击“yoyo建议”选项。如图7d的(2)所示,手机接收到用户操作,显示yoyo建议界面709。yoyo建议界面709中可包括但不限于一个或多个选项,例如包括航班出行选项、日历选型、地铁乘车码选项以及更多选项7091。可选地,各选项中可包括对应的服务的状态。例如,地铁乘车码选项处于开启状态,则地铁乘车码选项显示“已开启”,以指示地铁乘车码选项处于开启状态。用户可点击地铁乘车码选项。如图7d的(3)所示,手机响应于接收到的用户操作,显示服务管理界面710。服务管理界面710中可包括地铁乘车码服务的相关选项,例如包括地铁乘车码选项(也可以称为开启/关闭选项)、卡片集选项、悬浮窗选项、通知选项、耳机播报选项等。其中,地铁乘车码选项用于开启或关闭地铁出行提醒服务。若该服务关闭,智慧出行服务解除所有地铁出行相关的围栏。卡片集选项用于开启或关闭乘车卡片提示。若该功能开启,手机可显示乘车卡片。若该功能关闭,则手机不显示乘车卡片。悬浮窗选项用于开启或关闭悬浮窗显示方式,如上文所述,地铁乘车服务可以以悬浮控件的方式在界面中显示,该功能开启,则允许以悬浮窗方式显示。若该功能关闭,则不允许以悬浮窗显示。通知选项用于开启或关闭通知栏中的服务信息。例如,若用户点击地铁乘车码选项,手机响应于接收到的用户操作,关闭地铁乘车码服务,即,关闭与地铁出行所有相关的服务,并解除地铁出行相关的围栏,即本技术实施例中的所涉及的所有围栏。
182.在又一种可能的实现方式中,如上文所述,感知模块的围栏均是在智慧出行服务指示后订阅的,在其他实施例中,智慧出行服务可以向感知模块发送订阅围栏指示,感知模块可以基于智慧出行服务的指示,订阅上文所述的所有围栏,并按照各围栏之间的执行顺序,对围栏进行检测。例如,感知模块在检测到城市围栏触发后,可订阅刷码记录围栏。
183.本技术实施例中提供一种刷码事件订阅方案,以检测用户是否成功刷码,并在检测到用户刷码后,更新乘车卡片的状态。图8为示例性示出的刷码检测方法的流程示意图,请参照图8,具体包括:
184.s801,智慧出行服务向感知模块指示注册刷码围栏和应用围栏。
185.示例性的,本技术实施例中以订阅刷码成功事件为例进行说明,也就是说,本技术中的技术方案能够准确检测到是否发生刷码成功事件。
186.示例性的,智慧出行服务向感知模块发送指示信息,用于指示感知模块注册刷码围栏和应用围栏。其中,应用围栏用于订阅手机是否运行指定应用的指定服务,在本技术实施例中,指定服务即为地铁乘车码服务(也可以称为地铁出行服务、地铁刷码服务等)。刷码围栏用于订阅手机是否使用地铁乘车码服务,即是否刷码成功。
187.示例性的,智慧出行服务可获取到手机中安装的各应用是否具备刷码(即地铁乘车码刷码)功能,也可以理解为是否包括刷码服务。
188.例如,手机中安装支付应用后,智慧出行服务可从云端或者是支付应用的描述信
息中获取到支付应用具备地铁乘车码服务。再例如,手机中安装聊天应用后,智慧出行服务可从云端或者聊天应用的描述信息中获取到聊天应用具备地铁乘车码服务。
189.需要说明的是,对于聊天应用和支付应用,该类应用包括多个子服务,例如聊天应用中包括但不限于:聊天服务、小程序服务、理财服务等。
190.智慧出行服务向感知模块发送的指示信息中可包括手机中已安装的包含地铁乘车码服务的应用的应用程序标识,以指示感知模块基于智慧出行服务指示的应用程序标识注册应用围栏。
191.在一种可能的实现方式中,智慧出行所指示的应用程序可以为手机中已安装的所有包含地铁乘车码服务的应用。
192.在另一种可能的实现方式中,智慧出行所指示的应用程序可以为手机中的已安装的部分包含地铁乘车码服务的应用。例如,手机中包括应用a、应用b和应用c,且应用a~应用c均包含地铁乘车码服务。其中,应用a开通地铁乘车码服务,应用b和应用c未开通地铁乘车码服务。相应的,智慧出行服务向感知模块发送的指示信息中包括应用a的应用程序标识,而不包括应用c的应用程序标识和应用b的应用程序标识。即,手机仅对应用a是否存在刷码事件进行订阅,而不订阅应用b和应用c。
193.s802,感知模块注册应用围栏和刷码围栏。
194.示例性的,感知模块响应于智慧出行服务的指示,注册应用围栏和刷码围栏。
195.示例性的,应用围栏用于感知模块对前台应用进行检测,以检测当前运行的前台应用是否为指定应用(即包含地铁乘车码服务的应用)。在确定为指定应用后,感知模块可进一步检测指定应用是否运行了地铁乘车码服务。
196.感知模块在接收到智慧出行服务的指示后,可从云端获取到所有包含地铁乘车码服务的应用的应用程序标识,以及对应的地铁乘车码服务的activity(活动)标识。
197.可选地,应用程序的标识可以为应用程序的包名。例如,聊天应用的应用程序包名即为xx聊天。应用程序的包名是由应用程序开发者设置的,本技术不做限定。
198.可选地,activity标识用于指示应用中的子功能运行时所对应的标识。activity标识可以理解为是应用的各服务(或功能)运行时的活动标识。举例说明,以聊天应用为例,手机响应于接收到的用户操作启动聊天应用,聊天应用启动并在前台显示,窗口管理器(也可能是活动管理器(activity manager))可获取到聊天应用的应用程序标识,例如“聊天应用”。聊天应用响应于接收到的用户操作,可启动地铁乘车码小程序。窗口管理器即可获取到聊天应用当前运行的服务(也可以称为活动,即地铁乘车码小程序)所对应的标识。
199.示例性的,感知模块可基于智慧出行服务指示的应用程序标识,查询到与应用程序标识对应的地铁乘车码服务的activity标识,并基于应用程序标识和地铁乘车码服务的activity标识,注册应用围栏,以监测智慧出行服务订阅的应用中的地铁乘车码服务是否运行。
200.在本技术实施例中,应用程序标识和地铁乘车码服务的activitiy标识可以组成地铁乘车码服务的标识。也就是说,感知模块可基于地铁乘车码服务的标识,订阅应用围栏。
201.在一种可能的实现方式中,感知模块在接收到智慧出行服务的指示后,可以从云端获取智慧出行服务指示的应用程序所对应的地铁乘车码服务的activity标识。例如,本
申请实施例中,手机安装有支付应用和聊天应用,支付应用和聊天应用均包括地铁乘车码服务。智慧出行服务可向感知模块发送支付应用的应用程序标识和聊天应用的应用程序标识。感知模块可从云端获取支付应用的地铁乘车码服务的标识以及聊天应用的地铁乘车码服务的标识。并基于支付应用的地铁乘车码服务的标识以及聊天应用的地铁乘车码服务的标识,注册应用围栏,即检测支付应用的地铁乘车码服务与聊天应用的地铁乘车码服务是否运行。
202.示例性的,刷码围栏用于感知模块对当前运行的地铁乘车码服务进行检测,以检测是否发生刷码事件。
203.示例性的,刷码围栏可包括多个子围栏,例如包括但不限于:定时器围栏、刷码界面围栏、翻腕围栏和刷码成功界面围栏等。
204.示例性的,感知模块可从云端获取到各应用的地铁乘车码服务的刷码界面对应的特征事件和刷码成功界面对应的特征事件。示例性的,刷码界面可选地为地铁乘车码服务的包含地铁乘车码的界面,例如图6的(2),刷码成功界面可选地为用户使用地铁乘车码服务刷码成功后所显示的界面,例如图12a的(2)所示。通常情况下,刷码界面和刷码成功界面中的内容是完全不相同的,也可以是部分不相同的。
205.示例性的,当感知模块检测到地铁乘车码服务的界面中包括刷码界面对应的特征事件,可确定刷码界面围栏触发。
206.示例性的,当感知模块检测到地铁乘车码服务的界面中包括刷码成功界面对应的特征事件,可确定刷码成功界面围栏触发,即确定发生刷码事件。
207.一种可能的实现方式中,云端可以存储不同的应用的地铁乘车码服务对应的特征事件(其中包括刷码界面对应的特征事件和刷码成功界面对应的特征事件,下文中不再重复说明)。相应的,感知模块可以基于从云端获取到的所有特征事件,注册刷码围栏。可选地,刷码围栏中可以包括各应用所对应的特征事件。以聊天应用为例,刷码围栏中可以包括聊天应用的地铁乘车码服务对应的特征事件。
208.另一种可能的实现方式中,感知模块可以基于智慧出行服务所指示的应用所对应的地铁乘车码服务的特征事件,注册刷码围栏。例如,感知模块从云端获取到智慧出行服务指定的应用所对应的地铁乘车码服务的特征事件。感知模块可基于指定应用所对应的地铁乘车码服务的特征事件,订阅刷码围栏。
209.又一种可能的实现方式中,感知模块也基于触发应用围栏的应用所对应的地铁乘车码服务的特征事件,注册刷码围栏。例如,感知模块从云端获取有多个应用所对应的地铁乘车码服务的标识,以下简称地铁乘车码服务标识(即为应用程序标识和地铁乘车码服务的activity标识),下文中不再重复说明。在下面的实施例中,感知模块检测到应用a的地铁乘车码服务的标识,并确认触发应用围栏。感知模块可基于应用a的地铁乘车码服务对应的特征事件,注册刷码围栏。
210.可选地,特征事件可以包括但不限于地铁乘车码服务的窗口内容变化事件。例如,当用户刷码成功后,地铁乘车码服务的窗口从当前显示的乘车码界面(例如图6的(2)所显示的)切换到刷码成功界面(例如图11a的(2)),感知模块可通过检测地铁乘车码服务的窗口内容变化,以检测地铁乘车码服务是否刷码成功。具体实施方式将在下面的实施例中详细说明。
211.需要说明的是,不同的应用所对应的地铁乘车码服务的特征事件可以相同,也可以不同,本技术不做限定。示例性的,云端可维护各应用的地铁乘车码服务对应的特征事件。云端可以周期性地向各终端(包括手机、平板等设备)推送各应用的地铁乘车码服务对应的特征事件。示例性的,感知模块也可以周期性地向云端请求手机已安装的各应用的地铁乘车码服务对应的特征集。例如,感知模块可以向云端发送请求信息,请求信息中可以包括智慧出行服务在s801中所指示的应用的应用程序标识,以及应用的版本号。需要说明的是,应用的版本号不同,其所对应的特征事件也可能不同。云端响应于感知模块的请求,向感知模块所属手机反馈指定应用的指定版本所对应的地铁乘车码服务的特征事件。感知模块可基于获取到的特征事件,重新注册刷码围栏,也可以理解为更新刷码围栏所限定的特征事件。
212.需要说明的是,本技术实施例中,s801和s802可以在手机弹出乘车卡片602后执行。在其他实施例中,s801和s802也可以在图2和图3的任意步骤之前或之后执行,也就是说,智慧出行服务可以预先指示感知模块注册相应的围栏,感知模块可以在基于已注册围栏进行检测。
213.s803,窗口管理器检测到应用活动。
214.s804,窗口管理器向感知模块发送应用标识和activitiy标识。
215.示例性的,如上文所述,窗口管理器可以获取到运行的应用对应的应用标识和该应用运行的服务所对应的activity标识(例如可以是activity类名)。窗口管理器获取应用标识和activity标识的方式可以参照已有技术实施例中的相关描述,本技术不再赘述。
216.可选地,窗口管理器可周期性地向感知模块发送本周期内运行的各应用的应用标识以及各服务的activity标识。
217.可选地,窗口管理器也可以在活动更新的情况下,向感知模块发送正在运行的应用的标识以及activity标识。例如,当支付应用运行,窗口管理器获取到支付应用的应用程序标识和当前运行的服务(例如理财服务)的activity标识,窗口管理器将支付应用的应用程序标识和理财服务的activity标识发送给感知模块。当支付应用响应于接收到的用户操作,显示地铁乘车码服务界面。窗口管理器获取到支付应用的应用程序标识和地铁乘车码服务的activity标识。窗口管理器将支付应用的地铁乘车码服务的标识(即支付应用的应用程序标识和地铁乘车码服务的acitivity标识)发送给感知模块。
218.举例说明,如图6所示,手机响应于接收到的刷码选项6021的操作,显示应用的刷码界面603。窗口管理器获取到当前运行的应用(即支付应用)的应用程序标识和运行的活动(例如地铁乘车码服务)的activity标识。窗口管理器将当前运行的服务的服务标识,即地铁乘车码服务标识(即包括支付应用的应用程序和地铁乘车码服务的activity标识)发送至感知模块,感知模块基于获取到的乘车码服务标识,确定应用围栏触发。具体流程可参照s805。
219.s805,感知模块检测到应用围栏触发。
220.示例性的,如上文所述,感知模块基于应用的地铁乘车码服务的标识(即应用的应用程序标识和地铁乘车码服务的activity)注册应用围栏。感知模块对窗口管理器发送的应用标识和activity标识进行识别,以确定应用标识和activity标识是否命中应用围栏中的应用标识和activity标识。
221.举例说明,如上文所述,支付应用的地铁乘车码服务启动后,感知模块可接收到窗口管理器发送的支付应用的地铁乘车码服务标识(即包括支付应用的应用程序和地铁乘车码服务的activity标识)。感知模块将接收到的地铁乘车码服务标识与应用围栏中指示的地铁乘车码服务标识进行匹配。感知模块确定地铁乘车码服务标识匹配成功,即可确定当前运行的服务为地铁乘车码服务,并进一步确定应用围栏触发。
222.需要说明的是,一些场景下,用户可能不通过乘车卡片进入地铁乘车码服务。例如,如图9的(1)所示,显示界面901中包括一个或多个控件,包括但不限于:电池电量控件、网络控件、应用图标控件等。其中,应用图标控件包括支付应用图标控件902和聊天应用图标控件等。用户可点击支付应用图标控件902。如图9的(2)所示,手机响应于接收到的操作,显示支付应用界面903,支付应用界面903中包括但不限于:出行选项、收付款选项、出行选项904以及卡包选项。示例性的,窗口管理器获取到当前运行的服务为支付应用的主服务,并获取到主服务的标识(即支付应用的应用程序标识和主服务的activity标识)。窗口管理器将主服务的标识发送给感知模块。感知模块将主服务的标识与应用围栏中指示的地铁乘车码服务标识进行匹配。感知模块确定匹配失败,即,当前运行的服务非地铁乘车码服务。如图9的(2)所示,用户点击出行服务904。如图9的(3)所示,支付应用响应于接收到的用户操作,运行出行服务。可选地,出行服务中包括打车服务、公交服务、地铁乘车码服务、机票服务等。本技术实施例中,支付应用可自动打开用户经常使用的,或者是上一次使用的其中一个服务,例如,上一次使用的是地铁乘车码服务,则,支付应用响应于接收到的用户操作,显示地铁乘车码界面905。地铁乘车码界面的描述可参照图6的(2)的相关内容,此处不再赘述。窗口管理器获取当前运行的服务(即地铁乘车码服务)的标识,并将地铁乘车码服务的标识发送给感知模块。感知模块基于接收到的地铁乘车码服务,确定应用围栏触发,具体细节可参照上文,此处不再赘述。
223.s806,感知模块向无障碍服务请求应用的事件信息。
224.示例性的,无障碍服务用于文本转语音、触觉反馈、手势导航、轨迹球和定向导航,可以为应用提供无障碍功能,使得应用更加无障碍。无障碍服务配置参数最重要的功能之一是允许开发者指定无障碍服务能处理的无障碍事件类型。成功指定该信息使无障碍服务间能互相合作,并允许开发者灵活地处理特定应用的特定事件类型。事件过滤可以包含以下规则:包名和事件类型。包名为指定想要无障碍服务处理的无障碍事件的应用程序包名。如果省略该参数,无障碍服务将被视为服务于任何应用程序的无障碍事件。事件类型用于指定开发者想要无障碍服务处理的无障碍事件的类型。例如,类型可能包括但不限于:点击事件、窗口内容变化、窗口状态变化、滚动事件操作等。
225.本技术实施例中,感知模块向无障碍服务发送请求信息,请求信息中包括但不限于应用程序标识(例如应用程序包名)和事件类型,用于指示无障碍服务向感知模块反馈包含应用程序标识所指示的应用发生的指定事件。
226.示例性的,如上文所述,无障碍服务监控的事件类型包括但不限于:点击事件、窗口内容变化、窗口状态变化、滚动事件等操作。在本技术实施例中,感知模块向无障碍服务发送的请求中的事件类型信息可以包括但不限于:窗口内容变化事件类型,以指示无障碍服务将指定应用的窗口内容变化事件反馈给感知模块。
227.需要说明的是,本技术实施例中仅以窗口内容变化事件为例进行说明。在其他实
施例中,特征事件也可以属于其他类型,例如可以属于窗口状态变化事件,相应的,感知模块可以向无障碍服务注册窗口状态变化类型。
228.s807,无障碍服务向感知模块发送应用的事件信息。
229.示例性的,无障碍服务可基于感知模块的请求,对指定应用(即应用标识所指示的应用)进行监听,以识别是否发生指定事件。例如:窗口中显示内容的变化等。
230.示例性的,在本技术实施例中,感知模块可以向无障碍服务指示最小反馈间隔,例如可以是300ms。也就是说,无障碍服务可以基于感知模块的指示,向感知模块反馈应用的事件信息时,两次反馈间隔之间最小间隔300ms。举例说明,若无障碍服务在300ms内连续检测到多个窗口内容变化事件,无障碍服务可只将300ms内的最后一次窗口内容变化事件反馈给感知模块,以降低模块间交互功耗。
231.示例性的,无障碍服务在每次检测到应用的指定事件,并且与上一次发送的指定事件之间的间隔大于或等于300ms,无障碍服务向感知模块发送事件信息,事件信息中包括本次发生的指定事件及其对应的描述信息。
232.在一种可能的实现方式中,感知模块可以向无障碍服务指示反馈周期,以使得无障碍服务可周期性地向感知模块反馈本周期内发生的指定事件。示例性的,无障碍服务按照指示,周期性地向无障碍服务发送感知模块发送指定应用的事件信息。事件信息中包括本周期内发生的指定事件的描述信息。可选地,指定事件的描述信息包括但不限于:事件类型(即窗口内容变换)、事件内容、发生时间等。
233.可选地,无障碍服务可以在检测到应用发生指定事件后,即向感知模块反馈应用的事件信息,事件信息中包括指定事件的描述信息。
234.可选地,若无障碍服务反馈的页面中包括多个窗口内容变换事件,或者是无障碍服务反馈的次数较多,例如300ms内反馈多次,感知模块在进行处理时,可以设置处理周期,例如处理周期为300ms,感知模块每300ms对无障碍服务发送的事件进行处理。举例说明,若无障碍服务在300ms内发送3次事件信息,感知模块只在300ms触发时刻,对接收到的第3次事件信息中的内容进行处理,而忽略前两两次接收到的事件信息,从而降低感知模块处理功耗。
235.需要说明的是,如上文所述,无障碍服务实际上可以对多个事件类型进行监听,感知模块向无障碍服务指示对指定事件进行监听后,无障碍服务向感知模块反馈的事件信息中仅包括指定事件。例如,如果地铁乘车码服务的窗口中显示的界面从图6的(2)切换为刷码成功界面,刷码成功界面的内容与图6的(2)的乘车码界面不相同,无障碍服务检测到窗口内容变换。如果无障碍服务检测到用户滑动地铁乘车码界面,则该操作非感知模块订阅的事件,无障碍服务向感知模块发送的应用的事件信息中包括刷码成功界面中的内容,而不包括滑动事件。
236.s808,感知模块检测到刷码围栏触发。
237.图10为示例性示出的感知模块订阅刷码围栏的流程示意图,请参照图10,具体包括:
238.s1001,感知模块注册定时围栏。
239.示例性的,感知模块注册定时围栏。可选地,定时围栏的定时时长为3分钟。在其他实施例中,定时时长也可以其它数值,具体可根据实际需求设置,本技术不做限定。示例性
的,设置定时时长可用于限制感知模块与无障碍服务之间的交互时长,例如,在3分钟之内,感知模块未检测到刷码围栏触发,则流程结束,感知模块向无障碍服务发送停止反馈信息,停止反馈信息包括应用程序标识,用于指示无障碍服务停止反馈该应用的事件信息。
240.可选地,定时围栏也可以是在s805之后设置的,本技术不做限定。
241.s1002,感知模块注册刷码界面围栏。
242.示例性的,感知模块对无障碍服务发送的应用的事件信息中的信息进行识别,以检测当前显示的界面是否为刷码界面。
243.需要说明的是,以聊天应用举例,聊天应用的多个小程序可能具有相同的activity标识。例如,购票小程序与地铁乘车码小程序的activity可能相同。感知模块可通过订阅刷码界面围栏,以检测是否打开地铁乘车码小程序的界面。在确定打开地铁乘车码小程序的界面后,再执行后续的刷码事件检测。
244.示例性的,如上文所述,感知模块可预先从云端获取聊天应用的地铁乘车码小程序的显示界面(即刷码界面)所对应的特征事件,获取方式可参照上文,此处不再赘述。本技术实施例中,感知模块可基于获取到的地铁乘车码小程序的显示界面所对应的特征事件,注册刷码界面围栏。在其他实施例中,刷码界面围栏还包括手机中的其它地铁乘车码服务的显示界面所对应的特征事件,本技术不做限定。
245.示例性的,感知模块对无障碍服务发送的应用的事件信息中的信息进行识别,以检测是否包括刷码围栏所指示的特征事件。
246.s1003,感知模块确定刷码界面围栏触发。
247.一个示例中,若感知模块检测到应用的事件信息中包括刷码围栏中所指示的特征事件,感知模块可确定刷码围栏触发。
248.另一个示例中,若感知模块检测到应用事件信息中不包括刷码围栏中所指示的特征事件,感知模块继续等待无障碍服务下次反馈的应用事件信息,并重复执行上述识别步骤。示例性的,如上文所述,感知模块已启动定时围栏,即开始计时。在3分钟计时结束时,若感知模块仍然未检测到应用界面中包括特征事件,则流程结束,感知模块向无障碍服务发送停止反馈信息,停止反馈信息包括应用程序标识,用于指示无障碍服务停止反馈该应用的事件信息。
249.举例说明,如图6的(2)所示,手机响应于接收到的操作,显示地铁乘车码界面603。无障碍服务可获取到当前界面(即地铁乘车码界面)中的内容元素。例如包括:“打车”、“公交”、“地铁”、“机票”、“北京轨道交通乘车码”、“二维码”等。无障碍服务可向感知模块发送支付应用的事件信息。示例性的,在本技术实施例中,无障碍服务所反馈的事件信息中所包括的内容可以是以树状形式表示支付应用的当前窗口的内容变换。举例说明,结合图6的(2),图11a为示例性示出的无障碍服务反馈的树状图示意图。请参照图11a,示例性的,无障碍服务反馈的支付应用的事件信息中包括根节点,根节点为“事件”。根节点下的子节点包括但不限于:事件类型节点和页面布局节点。可选地事件类型节点包括事件类型信息,即窗口内容变换。可选地,页面布局界面下包括多个子节点,每个子节点用于指示窗口内容变换事件的内容,内容可以包括以下至少之一:变换的文本信息内容、变换的窗口大小、变换的页面颜色等。具体内容可参照无障碍服务的实现方式,本技术不再重复说明。举例说明,请继续参照图11a,页面布局节点下的子节点包括但不限于:文本内容“打车”、文本内容“公
交”、文本内容“地铁”、文本内容“机票”等。也就是说,无障碍服务从当前显示的窗口中获取到多个文本内容,内容包括“打车”、“公交”等。示例性的,文本内容“地铁”的子节点下还包括一个或多个子节点,包括但不限于:文本内容“北京轨道交通乘车码”、文本内容“二维码”。需要说明的是,本技术实施例中所示的各树状结构中各节点的父子关系仅为示意性举例,本技术不做限定。
250.无障碍服务向感知模块发送支付应用的事件信息,事件信息中包括图11a所示的树。需要说明的是,本技术实施例中仅以树状形式为例进行说明,在其他实施例中,无障碍服务反馈的应用的事件信息中也可以以列表或其他形式表示窗口的内容变换,本技术不做限定。
251.感知模块对接收到的支付应用的事件信息中的树进行识别,以确定是否包括刷码界面围栏所指示的特征事件,也可以理解为,检测节点中的文本内容是否包括指定的文本内容。例如,感知模块可以从云端获取到支付应用的地铁乘车服务的刷码界面的特征事件包括:文本内容为“北京轨道交通乘车码”、文本内容为“二维码”。感知模块所注册的刷码界面围栏中包括上述特征事件。示例性的,感知模块将无障碍服务反馈的支付应用的事件信息中的各节点与刷码界面所指示的特征事件进行匹配。感知模块确定节点:文本内容为“北京轨道交通乘车码”、文本内容为“二维码”匹配成功,感知模块确定支付应用当前的窗口显示的是刷码界面,即确定刷码围栏触发。
252.再举例说明,以图12a中的用户界面为例。请参照图12a的(1),手机响应于接收到的用户操作,显示聊天应用。用户可选择聊天应用中的小程序服务,聊天应用响应于接收到的用户操作,显示小程序界面1201。其中,小程序界面中包括但不限于:附近的小程序、我的订单、我的小程序、最近使用列表1202。可选地,最近使用列表1202中包括用户最近使用的小程序,例如包括但不限于:深圳地铁小程序12021、健康宝小程序12022以及团购小程序等。用户可点击健康宝小程序12022。如图12a的(2)聊天应用响应于接收到的用户操作,显示健康宝小程序界面1203。相应的,窗口管理器获取到健康宝小程序的服务标识(包括聊天应用的应用程序标识和健康宝小程序的activity标识)。窗口管理器将健康宝小程序的服务标识发送给感知模块。可选地,在本技术实施例中,聊天应用的一个或多个小程序的activity标识的前缀可能是相同的,可选地,一个或多个小程序的activity标识的后缀可能是随机生成的。可选地,每次同一个小程序每次运行时,其所对应的activity标识的后缀可能是不同的。举例说明,对于深圳地铁小程序,在本次运行时,其acitivtiy标识为a-1,其中,“a”为前缀,“1”为后缀,在下次运行时,深圳地铁小程序的acitviti标识为a-2,其中,“a”为前缀,“2”为后缀。健康宝小程序的acitivtiy标识可能是a-5,其中,“a”为前缀,“5”为后缀。在该场景下,感知模块订阅的应用围栏中,可以只对聊天应用的服务标识的部分标识进行识别。例如,当识别到“聊天应用-a-1”,其中,感知模块检测到“聊天应用-a”满足应用围栏的指示,确定应用围栏触发。其他未描述细节可参照上文,此处不再赘述。示例性的,无障碍服务可响应于感知模块的指示,对聊天应用的当前窗口进行检测。无障碍服务向感知模块发送聊天应用的事件信息,事件信息中包括的内容可如图12b所示。请参照图12b,页面布局节点下包括子节点1,子节点1可对应于健康宝小程序。子节点1下面的节点用于指示健康宝小程序中所包含的文本内容,例如包括但不限于:文本内容“关闭”、文本内容“小明”、文本内容“本人健康码自查询”、文本内容“本人信息扫码登记”等。无障碍服务将聊天应用
的事件信息反馈给感知模块。感知模块将树中的各文本内容与刷码界面围栏所指示的特征事件匹配,并确定匹配失败,即当前界面中不包括刷码界面围栏所指示的聊天应用的地铁乘车码服务(例如深圳地铁服务)的界面所对应的内容,不触发刷码界面围栏。请参照图12a的(1),示例性的,用户可退出健康宝小程序,并点击深圳地铁小程序12021。感知模块检测到运行其它服务,重新执行上文所述的应用围栏的检测操作,具体细节可参照上文,此处不再赘述。如图12a的(3)所示,聊天应用响应于接收到的用户操作,显示深圳地铁小程序界面1204。窗口管理器可获取到当前运行的深圳地铁小程序的服务标识(即聊天应用的应用程序标识和深圳地铁小程序的activity标识)。窗口管理器将该服务标识发送至感知模块。感知模块基于接收到的深圳地铁小程序的服务标识,确定应用围栏触发。感知模块向无障碍服务发送聊天应用的应用程序标识。无障碍服务基于感知模块指示的应用程序标识,确定继续检测聊天应用的窗口内容变换。无障服务检测到向感知模块发送聊天应用的事件信息,事件信息中包括的内容如图12c所示。请参照图12c,示例性的,该树包括根节点、事件类型节点和页面布局节点。页面布局节点下包括子节点2,子节点2可对应深圳地铁小程序界面1204。示例性的,节点2中包括一个或多个节点,包括但不限于:文本内容“多云”、文本内容“欢迎乘坐深圳地铁”、文本内容“地铁”、文本内容“公交”等。可选地,文本内容“地铁”节点下还可以包括文本内容“二维码”等。感知模块将树结构中的节点与刷码界面围栏所指示的聊天应用的地铁乘车码服务的特征信息进行匹配。感知模块检测到文本内容“地铁”、文本内容“二维码”等与刷码围栏所指示的特征信息匹配成功,感知模块确定当前显示的界面为刷码界面,并确定刷码界面围栏触发。
253.s1004,感知模块注册翻腕围栏和刷码成功界面围栏。
254.示例性的,本技术实施例中,感知模块确定当前运行的地铁乘车码服务的界面显示地铁乘车码(也可以称为地铁乘车二维码或地铁乘车码图形,例如图9中的地铁乘车码图形9071),即确定刷码界面围栏触发后,感知模块注册翻腕围栏和刷码成功界面围栏,以检测用户是否使用地铁乘车码成功刷码。需要说明的是,本技术实施例中以感知模块注册刷码成功界面围栏和翻腕围栏为例进行说明。在其他实施例中,感知模块也可以注册翻腕围栏与刷码成功界面围栏中的任一个,本技术不做限定。
255.示例性的,翻腕围栏用于检测用户的翻腕动作。感知模块注册翻腕围栏后,可从手机的加速度传感器和陀螺仪获取数据,以检测用户是否持手机翻腕。
256.示例性的,刷码成功界面围栏用于检测当前窗口(即地铁乘车码服务的窗口)是否显示刷码成功界面。示例性的,如上文所述,感知模块可获取到各应用对应的刷码成功界面对应的特征信息。感知模块确定刷码界面围栏触发后,可基于当前应用(例如支付应用)的刷码成功界面对应的特征信息,订阅刷码成功界面围栏,以确定当前应用的地铁乘车码服务是否刷码成功。
257.s1005a,感知模块检测到刷码成功界面。
258.s1005b,感知模块确定刷码成功界面围栏触发。
259.示例性的,感知模块注册刷码成功界面围栏后,对无障碍服务反馈的应用的事件信息进行检测,以检测事件信息中是否包括当前运行的地铁乘车码服务所对应的特征事件。
260.举例说明,如图13的(1)所示,手机当前显示的是支付应用的地铁乘车码界面,具
体描述可参照图6的(2)的相关内容,此处不再赘述。一个示例中,请参照图13的(2),用户持手机,使用支付应用的地铁乘车码刷码靠近闸机的刷码区域,以刷码进站。闸机的刷码区域可扫描地铁乘车码,并将地铁乘车码发送至服务器。服务器响应于接收到的地铁乘车码,向支付应用发送刷码进站成功消息。支付应用响应于接收到的刷码进站成功消息,确定刷码成功,并显示刷码成功界面1301。可选地,支付应用的刷码成功界面包括但不限于:“欢迎进站”、“国家图书馆”(即当前进站站名)以及地铁线路信息显示框1302等。地铁线路信息显示框1302中包括但不限于:当前站的站名(“国家图书馆(地铁站)”)、线路名称(“4号线”)以及地铁线路始发站和终点站的相关信息。另一个示例中,请参照图13的(3),用户持手机,使用支付应用的地铁乘车码刷码靠近闸机的刷码区域,以刷码出站。闸机的刷码区域可扫描地铁乘车码,并将地铁乘车码发送至服务器。服务器响应于接收到的地铁乘车码,向支付应用发送刷码出站成功消息。支付应用响应于接收到的刷码出站成功消息,确定刷码成功,并显示刷码成功界面1303。可选地,支付应用的刷码成功界面包括但不限于:“已出站”、“西单站”(即当前出站站名)以及地铁周边信息显示框1304等。地铁周边信息显示框1304中包括但不限于:当前站的站名(“西单(地铁站)”)、地铁周边图以及“查看站点出口周边信息”选项、“申请电子发票”选项等。
261.也就是说,在本技术实施例中,感知模块所订阅的刷码界面围栏所指示的特征信息,包括应用(例如支付应用,即刷码界面所属应用)的刷码进站界面对应的特征信息,以及,刷码出站界面对应的特征信息。
262.需要说明的是,在其他实施例中,应用的地铁乘车码服务的刷码进站界面和刷码出站界面可能是相同的,本技术不做限定。
263.示例性的,以刷码成功界面1301为例。无障碍服务可检测到当前显示的窗口,即地铁乘车码界面的窗口内容变换,也就是说,发生了感知模块注册的指定事件。无障碍服务获取窗口内容变换事件对应的内容,向感知模块发送支付应用的事件信息。支付应用的事件信息中包括树结构,如图11b所示,示例性的,树结构中包括图11a中的树结构以及无障碍服务在本次检测到的窗口内容变换事件对应的内容,包括但不限于:文本内容“欢迎进站”、文本内容“国家图书馆”、文本内容“4号线”、文本内容“开往安河桥北”等。也就是说,在本技术实施例中,无障碍服务向感知模块反馈的事件信息中包括从起始时刻至当前时刻内,已订阅应用发生的所有窗口内容变换事件。其中,起始时刻即为无障碍服务响应于感知模块的指示,订阅应用的窗口内容变换事件的时刻。
264.一个示例中,感知模块接收到无障碍服务发送的支付应用的事件信息。感知模块可以对树结构中的所有节点进行遍历,以识别是否包括支付应用的地铁乘车码服务的刷码成功界面对应的特征事件。
265.另一个示例中,感知模块接收到无障碍服务发送的支付应用的事件信息。感知模块可以基于上一次接收到的支付应用的事件信息,确定本次接收到的支付应用的事件信息更新的子节点。并基于更新的子节点,识别包括支付应用的地铁乘车码服务的刷码成功界面对应的特征事件。
266.举例说明,感知模块检测到:文本内容“欢迎进站”、文本内容“开往安河桥北”等窗口内容变换事件与支付应用的刷码成功界面围栏所指示的特征事件匹配成功,即确定当前显示的界面为刷码成功界面,感知模块确认刷码成功界面围栏触发。
267.示例性的,以刷码成功界面1303为例。无障碍服务可检测到当前显示的窗口,即地铁乘车码界面的窗口内容变换,也就是说,发生了感知模块注册的指定事件。无障碍服务获取窗口内容变换事件对应的内容,向感知模块发送支付应用的事件信息。支付应用的事件信息中包括树结构,如图11c所示,示例性的,树结构中包括图11a中的树结构以及无障碍服务在本次检测到的窗口内容变换事件对应的内容,包括但不限于:文本内容“已出站”、文本内容“西单”、文本内容“地铁周边图”、文本内容“抢红包”等。也就是说,在本技术实施例中,无障碍服务向感知模块反馈的事件信息中包括从起始时刻至当前时刻内,已订阅应用发生的所有窗口内容变换事件。其中,起始时刻即为无障碍服务响应于感知模块的指示,订阅应用的窗口内容变换事件的时刻。
268.示例性的,感知模块检测到:文本内容“已出站”、文本内容“地铁周边图”等窗口内容变换事件与支付应用的刷码成功界面围栏所指示的特征事件匹配成功,即确定当前显示的界面为刷码成功界面,感知模块确认刷码成功界面围栏触发。
269.一种可能的实现方式中,感知模块可进一步基于窗口内容变换事件的内容,确定当前是进站或出站。举例说明,如图11b所示,感知模块可从树结构中获取到文本内容为“欢迎进站”,感知模块可确定当前行为为刷码进站。再举例说明,如图11c所示,感知模块可从树结构中获取到文本内容为“已出站”,感知模块可确定当前行为为刷码出站。
270.在另一种可能的实现方式中,无障碍服务在检测到地铁乘车码服务的窗口发生窗口变换事件,其所反馈的应用的事件信息中的树结构可以包括新的子节点,该子节点对应于刷码成功界面,并且,该子节点与节点2可以为并列节点。
271.s1006a,感知模块检测到翻腕。
272.s1006b,感知模块确定翻腕围栏触发。
273.示例性的,如图14的(1)所示,用户持手机并点击地铁乘车码选项后,手机响应于接收到的用户操作显示地铁乘车码界面。如图14的(2)所示,用户在地铁乘车码界面加载地铁乘车码成功后,用户将手机的显示屏翻转,以使得手机显示屏中显示的地铁乘车码正对地铁闸机的刷码区域。如上文所述,感知模块在订阅翻腕围栏后,可获取手机的加速度传感器和陀螺仪检测到的数据,感知模块可基于获取到的数据,判断用户是否执行翻腕动作,即手机是否在显示地铁乘车码界面的同时被翻转。若感知模块确定手机翻转,即发生翻腕事件,感知模块确定翻腕围栏触发。
274.在一种可能的实现方式中,由于设备与服务器之间的传输时延,感知模块可能在检测到手机翻转,即用户翻腕后,地铁乘车码服务才显示刷码成功界面,则感知模块可能获取不到进站或出站信息。一个示例中,感知模块可以继续等待,直至定时器围栏触发。若在定时器围栏触发前,检测到刷码成功界面,感知模块可从刷码成功界面获取到进站或出站信息。若在定时器围栏触发前,未检测到刷码成功界面,感知模块可以基于翻腕次数,确定进站或出站。举例说明,感知模块可按0、1统计翻腕次数,例如,当本次翻腕围栏触发,感知模块将翻腕动作计数为0,并确定当前为进站。示例性的,当用户出站时,感知模块检测到翻腕围栏触发,并检测到当前计数为0,感知模块将当前计数更新为1,并确定当前为出站。当用户下一次进站时,感知模块检测到翻腕围栏触发,并检测到当前计数为1,感知模块将当前计数更新为0,并确定当前为进站,并以此类推。
275.s1007,感知模块确定刷码成功,解除定时器围栏。
276.一个示例中,感知模块确定刷码成功界面围栏触发,即可确定刷码围栏触发,也就是说,确定用户刷码成功。
277.另一个示例中,感知模块确定翻腕围栏触发,即可确定刷码围栏触发,也就是说,确定用户刷码成功。可以理解为,感知模块检测到刷码成功界面和/或翻腕动作,即可确定刷码成功。
278.示例性的,感知模块确定刷码成功后,可解除定时器围栏,即停止计时。
279.s1008,感知模块确定定时围栏触发,解除残留围栏。
280.一个示例中,若感知模块在定时器围栏指示的定时时长(例如3分钟内),未检测到刷码界面,感知模块确定用户未刷码,感知模块可解除的刷码界面围栏。例如,用户在家中打开了聊天应用的团购小程序,其服务标识与地铁乘车码小程序服务标识相同,相应的,在3分钟之内,感知模块未检测到刷码界面,则流程结束。
281.另一个示例中,若感知模块在定时器围栏指示的定时时长(例如3分钟内),在检测到刷码界面后,未检测到翻腕动作或者是刷码成功界面,感知模块确定用户未刷码,感知模块可解除翻腕围栏和刷码成功界面围栏。例如,用户打开地铁乘车码界面以查询余额,感知模块在3分钟之内未检测到刷码成功界面或翻腕动作,则流程结束。
282.需要说明的是,解除围栏可以理解为感知模块不再订阅该围栏,即,不再检测是否满足该围栏所指示的条件。
283.进一步需要说明的是,若感知模块在执行上述任一步骤的过程中,用户关闭地铁乘车码服务,切换到其它界面,包括桌面、锁屏界面、熄屏界面、其它应用界面、当前应用的其他服务界面等。窗口管理器可检测到activity切换,即,当前的地铁乘车码服务的activity切换到其它activity。窗口管理器可向感知模块指示当前运行的服务的activity。感知模块响应于窗口管理器的指示,可确定存在activity切换。感知模块结束当前流程,感知模块向无障碍服务发送停止反馈信息,停止反馈信息包括应用程序标识,用于指示无障碍服务停止反馈该应用的事件信息。并且,感知模块可对新的activity重新执行上文中的步骤,以检测新的activity是否为地铁乘车码服务对应的activity,具体描述可参照上文,此处不再赘述。
284.s809,感知模块指示无障碍服务反馈应用的事件信息。
285.示例性的,感知模块向无障碍服务发送停止反馈信息,停止反馈信息包括应用程序标识,用于指示无障碍服务停止反馈该应用的事件信息。无障碍服务响应于感知模块的指示,停止向感知模块反馈指定应用的事件信息。示例性的,感知模块解除定时围栏,即停止计时。
286.需要说明的是,本技术实施例中所述的感知模块与无障碍服务之间的交互仅为示意性举例。在其他实施例中,感知模块可以向无障碍服务发送应用列表,列表中可包括感知模块所需要订阅的应用的标识(例如应用程序包名)和事件类型等信息,以指示无障碍服务反馈列表中的应用所发生的指定事件。示例性的,本技术实施例中仅以感知模块订阅应用的地铁乘车码服务所对应的刷码事件为例进行说明。在其他实施例中,感知模块可能对其他应用的指定事件进行订阅,相应的,感知模块会在满足需求的情况下,向无障碍服务发送多次应用列表。感知模块每次发送的列表中,均包括当前需要订阅的地铁乘车码服务所属应用(例如支付应用)的标识。可选地,当感知模块在需要无障碍服务停止反馈支付应用的
事件信息时,感知模块可以将下一次向无障碍服务发送的列表中的支付应用的标识移除,也就是说,下一次发送的应用列表中不包括支付应用的标识。无障碍服务基于接收到的应用列表,不再向感知模块反馈支付应用的事件信息。
287.s810,感知模块向智慧出行服务指示刷码成功。
288.示例性的,感知模块检测到刷码围栏触发后,可确定当前运行的应用的地铁乘车码服务发生刷码事件。感知模块向智慧出行服务发送指示信息,指示信息中可包括应用程序标识,以指示该应用存在刷码事件。
289.在一种可能的实现方式中,智慧出行服务(也可以由感知模块执行,本技术不做限定)弹出地铁乘车卡片,即到达闸机(包括进站站点的闸机和出站站点的闸机)附近,智慧出行服务可获取当前站点的网络信息,例如获取蓝牙网络信息和/或wi-fi网络信息。可选地,智慧出行服务当前获取到的网络信息可以与高精度围栏所指示的网络信息相同或不同。一个示例中,智慧出行服务在确定刷码成功后,可以将获取到的网络信息发送至云端。云端可周期性地对多个用户在同一个站点上报的网络信息进行统计,以更新站点的站点信息,例如,云端可以根据用户上报的wi-fi信号的强度,更新wi-fi网络信号对应的阈值(概念可参照上文,此处不再赘述)。再例如,地铁内的wi-fi网络可能更新,例如wi-fi名称和地址信息更新,云端可基于用户上报的信息,更新站内的wi-fi网络的名称和地址信息等。云端可以将更新后的站点信息发送给各设备。另一个示例中,智慧出行服务未接收到感知模块发送的刷码成功指示,例如,智慧出行服务弹出乘车卡片后,用户通过滑动操作取消地铁乘车卡片的显示,或者是,用户在地铁站中等人,并未点击刷码选项。在该示例中,感知模块可以在确定用户未刷码,例如定时器围栏结束后,感知模块向智慧出行服务指示定时器围栏触发,智慧出行服务可确定用户未刷码。智慧出行服务可取消地铁乘车卡片的显示,并且,智慧出行服务删除在当前站点获取到的网络信息。
290.在另一种可能的实现方式中,如上文所述,感知模块还可以获取到用户当前是进站或出站。感知模块向智慧出行服务发送的指示信息中可包括进站信息或出站信息,以指示当前用户进站或出站。
291.一个示例中,如图15所示,智慧出行服务确定刷码成功,且为刷码进站后,智慧出行服务将当前显示的地铁乘车卡片1502(为区分图15的(2)中的卡片,地铁乘车卡片1502称为乘车态卡片)更新为地铁乘车卡片1503,也可以称为常规态卡片。可选地,地铁乘车卡片1503中包括但不限于以下至少之一:“地铁乘车码”,“地铁乘车一码通行”以及“北京市地铁乘车码”等提示信息以及刷码选项1504。
292.可选地,智慧出行服务显示常规态卡片时,可不做其它提醒,也就是说,在本技术实施例中,乘车态卡片的提醒强度高于常规态卡片的提醒强度。
293.可选地,常规态卡片不设置为置顶提醒。例如,当显示界面1501中显示的卡片数量为多个时,手机可轮询显示多个卡片。可选地,当手机当前显示的卡片为其它类型的卡片,例如为外卖提醒卡片,用户可通过左右滑动卡片,以使得手机显示常规态卡片。
294.在本技术的实施例中,在用户出站之前,手机显示的地铁乘车卡片均为常规太地铁乘车卡片。
295.另一个示例中,若智慧出行服务确定刷码成功,且为刷码出站后,智慧出行服务取消当前显示的地铁乘车卡片(可能是常规态卡片,也可能是乘车态卡片)。举例说明,一个实
例中,感知模块基于地铁围栏,可确定用户到达地铁闸机附近,并将当前显示的常规态卡片切换为乘车态卡片,乘车态卡片可参照图6的(1)的相关描述,此处不再赘述。用户刷码成功后,智慧出行服务检测到用户刷码成功(具体检测流程参照上文,此处不再赘述),并且刷码出站,智慧出行服务取消当前显示的乘车态卡片。另一个示例中,用户刷码出站前,手机显示地铁乘车卡片为常规态卡片,用户可通过点击常规态卡片中的刷码选项,或者是,用户可通过应用入口,使得手机显示刷码界面,用户通过地铁乘车码刷码出站,智慧出行服务确定用户刷码成功,且刷码出站。智慧出行服务取消当前当前显示的常规态卡片。
296.可选地,智慧出行服务可保存刷码信息。示例性的,刷码信息包括但不限于以下至少之一:刷码成功的次数、本次刷码所使用的应用(例如支付应用)、本次刷码所对应的站点、本次刷码是进站或出站等信息。
297.可选地,智慧出行服务可以基于记录的刷码信息,进行地铁乘车码服务推送。例如,如上文中的图6所述,用户点击刷码选项6021后,手机跳转到地铁乘车码界面。一个示例中,智慧出行服务可检测用户上一次使用的地铁乘车码服务,例如可能是支付应用的地铁乘车码服务,则手机响应与接收到的用户点击刷码选项6021的操作,显示支付应用的地铁乘车码服务。另一个示例中,智慧出行服务可检测用户使用最多次数的地铁乘车码服务,例如可能是聊天应用的地铁乘车码服务,手机响应与接收到的用户点击刷码选项6021的操作,显示聊天应用的地铁乘车码服务。
298.图16为示例性示出的另一种感知模块订阅刷码围栏的流程示意图,请参照图16,具体包括:
299.s1601,感知模块注册定时围栏。
300.s1602,感知模块注册刷码界面围栏。
301.s1603,感知模块确定刷码界面围栏触发。
302.s1604,感知模块注册翻腕围栏和刷码成功界面围栏。
303.s1605a,感知模块检测到刷码成功界面。
304.s1605b,感知模块确定刷码成功界面围栏触发。
305.s1606a,感知模块检测到翻腕。
306.s1606b,感知模块确定翻腕围栏触发。
307.s1602~s1606b的具体细节可参照s1002~s1006b的相关内容,此处不再赘述。
308.s1606c,感知模块检测到定时时长大于1分钟。
309.与图10中不同的是,在本实例中,感知模块检测到翻腕围栏触发后,可进一步结合刷码成功围栏以及地铁围栏,以确定是否刷码成功,从而防止误判。
310.示例性的,感知模块可检测定时围栏的当前的计时时长。一个示例中,若计时时长小于1分钟(可根据实际需求设置,本技术不做限定,该时长小于定时围栏所指示的定时时长),感知模块等待刷码成功界面围栏触发。若刷码成功界面围栏触发,感知模块可确定刷码成功,并可获取到进站或出站信息。另一个示例中,若计时时长大于或等于1分钟,感知模块可执行s1606d。
311.s1606d,感知模块基于地铁围栏,确定进站或出站。
312.示例性的,感知模块在计时时长1分钟内,未检测到刷码成功界面围栏触发,可进一步结合地铁围栏,以确定用户是否成功刷码。举例说明,用户持手机刷码成功后,由于服
务器延迟,支付应用的界面还未显示刷码成功界面,用户按压手机开机键,手机接收到用户的操作,切换为熄屏状态。在该场景下,即使支付应用接收到的服务器发送的刷码进站消息,支付应用在手机熄屏状态下是无法显示刷码成功界面的,相应的,感知模块无法检测到刷码成功界面。
313.图17为示例性示出的地铁围栏检测刷码行为的流程示意图,请参照图17,具体包括:
314.s1701,感知模块获取用户的运动状态。
315.示例性的,感知模块可通过手机的加速度传感获取用户当前的运动状态。
316.s1702a,感知模块检测到用户为乘坐地铁状态。
317.s1702b,感知模块确定用户进站。
318.示例性的,若感知模块从加速度传感器获取的检测数据,确定手机的运动状态为乘坐地铁状态,例如感知模块检测到当前加速度大于或等于地铁运动阈值,则感知模块可确定用户刷码成功,并且,本次刷码为进站刷码。
319.s1703a,感知模块检测到用户为非乘坐地铁状态。
320.示例性的,感知模块从加速度传感器获取的检测数据,确定手机的运动状态为非乘坐地铁状态,例如感知模块检测到当前加速度小于地铁运动阈值。可选地,非乘坐地铁状态包括但不限于:步行、骑行、乘车(公交或汽车)等。在该场景下,为避免误判,感知模块可进一步结合及刻围栏和/或高精度围栏,以确定用户是否刷码成功。
321.s1703b,检测到移出高精度围栏。
322.示例性的,如上文所述,高精度围栏可以用于指示用户到达闸机附近,因此,当手机移出高精度围栏,例如,手机扫描到的wi-fi网络中不包括闸机附近的wi-fi网络,或者是,手机扫描到的wi-fi网络包括闸机附近的wi-fi网络,但是其通信质量参数小于阈值。相应的,感知模块可确定手机不再高精度围栏所指示的范围内,即用户已经离开地铁闸机附近。
323.在一种可能的实现方式中,感知模块可以实时地、或者周期性地获取高精度围栏所指示的信息,例如感知模块可以周期性地从wi-fi驱动中获取当前扫描到的wi-fi网络的信息。如上文所述,感知模块进入当前地铁站(例如国家图书馆站)的高精度围栏后,感知模块仍然检测高精度围栏所指示的条件,即,感知模块仍然会获取wi-fi驱动所采集的wi-fi网络信息。
324.在另一种可能的实现方式中,感知模块可以被动式的获取高精度围栏所指示的信息。举例说明,若手机中的应用指示手机的wi-fi驱动进行wi-fi扫描,则感知模块可以从wi-fi驱动获取到wi-fi驱动所扫描到的结果。示例性的,若手机中没有wi-fi连接需求,例如,没有应用需要进行wi-fi连接,则wi-fi驱动可选地不进行wi-fi扫描,感知模块无法获取到wi-fi扫描结果。一个示例中,感知模块可以在获取到wi-fi扫描结果的情况下,再执行后续的步骤。另一个示例中,感知模块可以在执行s1703b时,主动请求wi-fi驱动进行wi-fi扫描,并基于获取到的wi-fi扫描结果,判定是否移出高精度围栏。
325.在又一种可能的实现方式中,若感知模块未检测到移出高精度围栏,则感知模块继续进行检测,当感知模块检测到用户的运动状态为乘坐地铁状态,或者,当感知模块检测到用户移出高精度围栏,则感知模块执行后续的步骤。
326.在又一种可能的实现方式中,若感知模块在10分钟(也可以根据实际需求设置,本技术不做限定)内检测到用户的运动状态仍然为非乘坐地铁状态,并且,用户没有移出高精度围栏,则该用户可能实在等人,或者是在地铁站中共工作。
327.需要说明的是,图17的场景中,仍以wi-fi网络为例进行说明,在其他实施例中,高精度围栏指示的也可以是蓝牙网络或其它可能的通信网络,其实现方式与wi-fi网络类似,本技术不再重复说明。
328.s1703c,感知模块检测到移出及刻围栏。
329.示例性的,如上文所述,及刻围栏可以用于指示用户到达地铁站附近。相应的,感知模块在确定手机移出当前站点的高精度围栏之后,可基于当前站点的及刻围栏所指示的蜂窝网络信息和/或地理位置等信息,确定手机是否移出当前站点的及刻围栏。
330.例如,当手机接入的蜂窝网络非及刻围栏所指示的蜂窝网络信息,则可确定离开及刻围栏。再例如,当手机扫描到的蜂窝网络中包括及刻围栏所指示的蜂窝网络,而该蜂窝网络的通信质量参数小于阈值,则可确定离开及刻围栏。再例如,当手机的地理位置超出及刻围栏所指示的地理范围,及刻确定离开及刻围栏。其具体判定方式与进入及刻围栏类似,此处不再重复说明。
331.s1703d,感知模块确定用户出站。
332.示例性的,当感知模块确定用户离开及刻围栏,则可确定用户离开当前站点。
333.一种可能的实现方式中,感知模块可确定当前离开的站点是否为起始站(起始站的识别方式可参照上文,此处不再赘述)。一个示例中,若当前站点为起始站,而用户离开了当前站点,则可确定用户出站,并且,用户未刷码。例如,在国家图书馆站,用户进入国家图书馆站之后,手机弹出乘车态卡片。用户点击乘车态卡片之后,并未刷码,并关闭屏幕。感知模块基于上文所述的刷码事件订阅方案并未检测到刷码行为,感知模块在定时结束(例如3分钟)后,结束本次刷码事件检测流程。感知模块实际上是未刷码的,但是为了防止可能出现的误判,感知模块可结合图17中的方案,示例性的,如果感知模块检测到用户为非乘地铁状态,并且离开了当前站点,则可认为用户未刷码进站。另一个示例中,若当前站点非起始站,感知模块检测到用户步行离开当前站点,感知模块可以确定用户刷码成功,且刷码出站。例如,用户刷码出站,但是手机基于上文所述的刷码事件订阅方案并未识别到刷码成功界面和翻腕事件,相应的,手机可进一步基于图17的方案,确定用户是刷码出站的,从而防止误判。
334.可选地,感知模块在执行s1702b,即确定用户移出高精度围栏后,可执行s1703d。
335.需要说明的是,图17中的实施场景仅为可行的其中一种场景。在其他实施例中,图17中的方案还可以在s1608与s1008之后实施。也就是说,当感知模块未识别到翻腕事件,也未识别到刷码成功界面的情况下,可以通过图17中的方案,确认用户是否刷码。
336.例如,图17中的方案也可以结合图10中的方案执行。示例性的,在图10的方案中,若定时器计时结束后,手机未确定是否成功刷码,可执行图17中的流程。举例说明,若用户打开地铁乘车码并且刷码成功,手机未检测到用户的翻腕行为,并且,用户刷码之后立刻关闭手机屏幕,也就是说,手机未显示刷码成功界面。相应的,感知模块未能检测到刷码成功界面。在该场景下,手机可通过执行图17中的方案,确定用户是否成功刷码,并可进一步判断用户进站或出站。图17中的方案同样可在s1008之后执行,例如,具体方式可参照与图10
中的方案的结合方式,此处不再赘述。
337.s1607,感知模块确定刷码成功。
338.s1608,感知模块确定定时围栏触发,清除残留围栏。
339.s1607~s1608具体细节可参照s1007~s1008的相关描述,此处不再赘述。
340.可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
341.一个示例中,图18示出了本技术实施例的一种电子设备的软件结构示意图。请参照图18,电子设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本技术实施例以分层架构的android系统为例,示例性说明电子设备的软件结构。电子设备的分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(android runtime)和系统库(图中未显示),以及内核层。
342.应用程序层可以包括一系列应用程序包。如图18所示,应用程序包可以包括智慧出行服务、支付应用、聊天应用、感知模块等应用程序。
343.示例性的,感知模块常驻运行或以低功耗形式运行,具有感知外部事实或者环境的能力,以“围栏”的形式向其他模块提供该能力。如感知时间变化的“时间围栏”,感知地理位置的“地理位置围栏”等。在卡片提醒业务处于开启状态时,感知模块对根据业务逻辑处理模块注册的能力(或事项,如特定时间、特定地点、或特定事件等)进行监控,如果用户触发了其中某一种,感知模块就会发送通知给业务逻辑处理模块。此外,感知模块还可以通过api(application programming interface,应用编程接口)从应用程序层的其他应用程序或应用程序框架层或系统层或内核层来检测相关事件和获取事件的状态,比如检测蓝牙连接,网络连接,监测用户短信,定制定时器等。
344.示例性的,智慧出行服务可以包括业务逻辑处理模块和业务呈现模块。业务逻辑处理模块用于核心业务计算,向感知模块订阅不同的围栏,根据围栏事件感知场景变化,结合业务呈现模块提供的用户交互信息,调用业务场景定义的规则或算法模型,决策向用户推送哪些服务信息以及展示方式(卡片、通知、耳机播报等)。将这些服务信息发送给业务呈现模块展示给用户。业务呈现模块用于用户界面交互以及结果展示。业务呈现模块可接收来自业务逻辑处理模块发送的卡片、通知、耳机播报等的展示、消失指示及相应数据,进行卡片、通知、播报的展示或消失。以及用于将用户交互信息(如用户点击、滑动卡片等)传递给业务逻辑处理模块,做下一步业务决策。可以理解为,本技术实施例中智慧出行服务所执行的显示相关步骤是由业务呈现模块执行的,其它步骤均是由业务逻辑处理模块执行。
345.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
346.如图18所示,应用程序框架层可以包括窗口管理器、无障碍服务等。
347.内核层包括:显示驱动、wi-fi驱动、蓝牙驱动、音频驱动、传感器驱动等。
348.可以理解的是,图18示出的软件结构中的层以及各层中包含的部件,并不构成对电子设备的具体限定。在本技术另一些实施例中,电子设备可以包括比图示更多或更少的层,以及每个层中可以包括更多或更少的部件,本技术不做限定。
349.以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1