地铁出行检测方法及电子设备转让专利

申请号 : CN202111457123.4

文献号 : CN115033308B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘英龙

申请人 : 荣耀终端有限公司

摘要 :

本申请提供了一种地铁出行检测方法及电子设备,该方法包括:若电子设备检测到用户乘坐地铁到达地铁站后,用户的运动状态切换为步行状态,电子设备可弹出乘车态卡片。若电子设备检测到用户在该地铁站多次未使用地铁乘车码刷码,则电子设备可对该地铁站的地铁乘车卡片的显示进行抑制,以避免在换乘场景下对用户的打扰,提升用户使用体验。

权利要求 :

1.一种地铁出行检测方法,其特征在于,应用于电子设备,所述电子设备的界面中显示第一乘车态卡片;所述第一乘车态卡片中包括所述电子设备所在第一地铁站的名称和刷码选项,所述第一乘车态卡片用于提示当前地铁站为所述第一地铁站,并且所述第一乘车态卡片还用于提供与地铁乘车码界面关联的应用入口,所述方法包括:检测到电子设备使用地铁乘车码界面中的地铁乘车码刷码进入所述第一地铁站,将所述第一乘车态卡片更新为常规态卡片,所述常规态卡片包括所述刷码选项;

检测到所述电子设备所属用户乘坐地铁到达第二地铁站后,检测到所述电子设备的运动状态为步行状态,获取所述电子设备保存的所述第二地铁站的第一显示信息;所述第一显示信息中包括第一弹卡参数和第一不弹卡参数;

若所述第一弹卡参数大于所述第一不弹卡参数,则显示第二乘车态卡片;所述第二乘车态卡片中包括所述第二地铁站的名称和所述刷码选项;

订阅所述电子设备是否使用所述地铁乘车码界面中的地铁乘车码刷码离开所述第二地铁站;

检测到所述电子设备未使用地铁乘车码界面中的地铁乘车码刷码离开所述第二地铁站,将显示所述第二乘车态卡片切换为显示所述常规态卡片;

获取所述第二地铁站的第二显示信息,所述第二显示信息包括第二弹卡参数和第二不弹卡参数,所述第二弹卡参数为所述第一弹卡参数减预设值得到的,所述第二不弹卡参数为所述第一不弹卡参数加所述预设值得到的;

检测到所述电子设备所属用户再次乘坐地铁到达所述第二地铁站后,检测到所述电子设备的运动状态为步行状态,获取所述电子设备保存的所述第二地铁站的所述第二显示信息;

根据所述第二显示信息确定所述第二弹卡参数与所述第二不弹卡参数之间的大小关系,确定是否显示所述第二乘车态卡片。

2.根据权利要求1所述的方法,其特征在于,所述检测到电子设备使用地铁乘车码界面中的地铁乘车码刷码进入所述第一地铁站之前,方法还包括:检测到所述电子设备所属用户乘坐地铁到达所述第二地铁站后,检测到所述电子设备的运动状态为步行状态,并且,所述电子设备中未保存对应于所述第二地铁站的显示信息,显示所述第二乘车态卡片;

订阅所述电子设备是否使用地铁乘车码界面中的地铁乘车码刷码离开所述第二地铁站;

检测到所述电子设备未使用地铁乘车码界面中的地铁乘车码刷码离开所述第二地铁站,取消显示所述第二乘车态卡片;

保存所述第二地铁站的第三显示信息,所述第三显示信息包括第三弹卡参数和第三不弹卡参数,所述第三弹卡参数为初始弹卡参数值减所述预设值得到的,所述第三不弹卡参数为初始不弹卡参数值加所述预设值得到的。

3.根据权利要求2所述的方法,其特征在于,所述初始弹卡参数值为1,所述初始不弹卡参数值为0,所述预设值为0.2。

4.根据权利要求3所述的方法,其特征在于,所述检测到电子设备使用地铁乘车码界面中的地铁乘车码刷码进入所述第一地铁站之前,方法还包括:检测到所述电子设备所属用户乘坐地铁到达所述第二地铁站后,检测到所述电子设备的运动状态为步行状态,获取所述第二地铁站的所述第三显示信息;

所述第三弹卡参数大于所述第三不弹卡参数,显示所述第二乘车态卡片;

订阅所述电子设备是否使用地铁乘车码界面中的地铁乘车码刷码离开所述第二地铁站;

检测到所述电子设备未使用地铁乘车码界面中的地铁乘车码刷码离开所述第二地铁站,取消显示所述第二乘车态卡片;

获取所述第二地铁站的所述第一显示信息,所述第一弹卡参数为所述第三弹卡参数减所述预设值得到的,所述第一不弹卡参数为所述第三不弹卡参数加所述预设值得到的。

5.根据权利要求4所述的方法,其特征在于,所述方法还包括:

订阅所述电子设备是否使用地铁乘车码界面中的地铁乘车码刷码离开所述第二地铁站;

检测到所述电子设备未使用地铁乘车码界面中的地铁乘车码刷码离开所述第二地铁站,获取所述第二地铁站的第四显示信息;所述第四显示信息包括第四弹卡参数和第四不弹卡参数,所述第四弹卡参数为所述第二弹卡参数减所述预设值得到的,所述第四不弹卡参数为所述第二不弹卡参数加所述预设值得到的。

6.根据权利要求5所述的方法,其特征在于,所述方法还包括:

检测到所述电子设备所属用户再次乘坐地铁到达所述第二地铁站,且检测到所述电子设备的运动状态为步行状态,获取所述电子设备保存的所述第二地铁站的所述第四显示信息;

所述第四弹卡参数小于所述第四不弹卡参数,不显示所述第二乘车态卡片;

订阅所述电子设备是否使用地铁乘车码界面中的地铁乘车码刷码离开所述第二地铁站;

检测到所述电子设备未使用地铁乘车码界面中的地铁乘车码刷码离开所述第二地铁站,并且,所述第四弹卡参数为预设最小值,所述第四不弹卡参数为预设最大值,不更新所述第四显示信息。

7.根据权利要求1所述的方法,其特征在于,所述方法还包括:

订阅所述电子设备是否使用地铁乘车码界面中的地铁乘车码刷码离开所述第二地铁站;

检测到所述电子设备使用地铁乘车码界面中的地铁乘车码刷码离开所述第二地铁站,获取所述第二地铁站的第五显示信息;所述第五显示信息包括第五弹卡参数和第五不弹卡参数,所述第五弹卡参数为所述第二弹卡参数加所述预设值得到的,所述第五不弹卡参数为所述第二不弹卡参数减所述预设值得到的。

8.根据权利要求7所述的方法,其特征在于,所述方法还包括:

检测到所述电子设备所属用户乘坐地铁到达所述第二地铁站,且检测到所述电子设备的运动状态为步行状态,获取所述电子设备保存的所述第二地铁站的所述第五显示信息;

所述第五弹卡参数大于所述第五不弹卡参数,显示所述第二乘车态卡片。

9.根据权利要求1所述的方法,其特征在于,所述检测到电子设备使用地铁乘车码界面中的地铁乘车码刷码进入所述第一地铁站,包括:订阅地铁站的粗精度围栏,所述粗精度围栏用于指示所述电子设备位于地铁站附近;

检测到所述电子设备位于所述第一地铁站附近,确定所述第一地铁站对应的粗精度围栏触发;

所述第一地铁站对应的粗精度围栏触发后,订阅所述第一地铁站对应的第一高精度围栏;所述第一高精度围栏用于指示所述电子设备位于所述第一地铁站的闸机附近;

检测到所述电子设备位于所述第一地铁站的闸机附近,确定所述第一高精度围栏触发;

所述第一高精度围栏触发后,订阅第一室内围栏;所述第一室内围栏用于指示所述电子设备位于所述第一地铁站的室内;

检测到所述电子设备位于所述第一地铁站的室内,确定所述第一室内围栏被触发;

在所述第一高精度围栏被触发且所述第一室内围栏被触发的情况下,确定所述电子设备进入所述第一地铁站;

确定所述电子设备进入第一地铁站后,获取所述电子设备保存的所述第一地铁站的第六显示信息;所述第六显示信息中包括第六弹卡参数和第六不弹卡参数;

所述第六弹卡参数大于所述第六不弹卡参数,显示第一乘车态卡片。

10.根据权利要求1所述的方法,其特征在于,所述订阅所述电子设备是否使用地铁乘车码界面中的地铁乘车码刷码离开所述第二地铁站,包括:订阅应用围栏,所述应用围栏包括至少一个服务的标识,所述至少一个服务为包含地铁乘车码的服务;

响应于接收到的点击所述刷码选项的操作,显示第一应用的第一服务的界面;

获取所述第一服务的标识,所述第一服务的标识包括所述第一应用的标识和所述第一服务的活动Activity标识;

检测到所述第一服务的标识与所述应用围栏指示的至少一个服务的标识匹配,订阅所述第一服务所属第一窗口是否包含地铁乘车码;

检测到所述第一窗口中包含地铁乘车码,订阅所述第一窗口发生的窗口内容变化事件,并且,订阅所述电子设备是否发生翻腕事件;

在第一预定时长内,所述第一窗口未发生第一目标事件,并且所述电子设备未发生翻腕事件,确定所述电子设备未使用地铁乘车码界面中的地铁乘车码刷码离开所述第二地铁站;所述第一窗口发生第一目标事件,所述第一目标事件属于所述窗口内容变化事件,所述第一目标事件用于指示所述第一窗口显示刷码成功界面。

11.根据权利要求1所述的方法,其特征在于,所述订阅所述电子设备是否使用地铁乘车码界面中的地铁乘车码刷码离开所述第二地铁站,包括:检测到所述电子设备离开所述第二地铁站,获取所述电子设备保存的第一刷码信息,所述第一刷码信息用于指示所述电子设备在所述第二地铁站内未显示过地铁乘车码界面;

基于所述第一刷码信息,确定所述电子设备未使用地铁乘车码界面中的地铁乘车码刷码离开所述第二地铁站。

12.根据权利要求1所述的方法,其特征在于,所述订阅所述电子设备是否使用地铁乘车码界面中的地铁乘车码刷码离开所述第二地铁站,包括:检测到所述电子设备离开所述第二地铁站,获取所述电子设备保存的第二刷码信息;

所述第二刷码信息用于指示所述电子设备在所述第二地铁站内显示过地铁乘车码界面,并且,所述第二刷码信息还用于指示所述电子设备上一次刷码为刷码进入所述第一地铁站;

基于所述第二刷码信息,确定所述第二地铁站为非起始站,且所述电子设备在所述第二地铁站内显示过所述地铁乘车码界面,以及所述电子设备在显示所述地铁乘车码界面之后,未检测到所述电子设备使用所述地铁乘车码界面中的地铁乘车码刷码离开所述第二地铁站;

检测所述电子设备当前的运动状态是否为乘坐地铁状态;

当所述电子设备当前的运动状态为乘坐地铁状态,确定所述电子设备未使用所述地铁乘车码界面中的地铁乘车码刷码离开所述第二地铁站;

当所述电子设备当前的运动状态为非乘坐地铁状态,在第二预定时长后,检测所述电子设备最近一次到达的地铁站是否为所述第二地铁站;

所述电子设备最近一次到达的地铁站非所述第二地铁站,确定所述电子设备未使用所述地铁乘车码界面中的地铁乘车码刷码离开所述第二地铁站。

13.根据权利要求1所述的方法,其特征在于,所述第二乘车态卡片的提示强度大于所述常规态卡片的提示强度。

14.根据权利要求13所述的方法,其特征在于,所述第二乘车态卡片的提示方式包括以下至少之一:若所述电子设备显示的卡片组中包括多个卡片,所述第二乘车态卡片置于所述多个卡片中的其它卡片上方显示;

所述电子设备显示所述第二乘车态卡片时,振动和/或播放提示音。

15.根据权利要求14所述的方法,其特征在于,所述常规态卡片的提示方式为:若所述电子设备显示的卡片组中包括多个卡片,所述常规态卡片与所述多个卡片中的其它卡片轮询显示。

16.一种电子设备,其特征在于,包括:

一个或多个处理器、存储器;

以及一个或多个计算机程序,其中所述一个或多个计算机程序存储在所述存储器上,当所述计算机程序被所述一个或多个处理器执行时,使得所述电子设备执行权利要求1至权利要求15任一项所述的方法。

说明书 :

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

技术领域

[0001] 本申请涉及终端设备领域,尤其涉及一种地铁出行检测方法及电子设备。

背景技术

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

发明内容

[0003] 本申请提供一种优化的地铁出行检测方法及电子设备。
[0004] 在本申请提供的一些实施例中,电子设备可以为用户地铁出行方式提供更精准、更便捷的刷码服务,以提升用户体验。
[0005] 示例性的,电子设备中可安装有多个具有刷码功能的应用。在一些场景中,用户需要刷码时,可通过触发具有刷码功能的应用,以使得应用显示地铁乘车码界面。用户可使用地铁乘车码界面中的地铁乘车码刷码进站或出站,从而无需用户再购买地铁卡或者携带地铁卡。为了进一步提升用户体验,一些场景中,电子设备可以通过提供快速入口,以使得用户在简单操作,例如点击快速入口对应的按钮的情况下,即可使得电子设备跳转到地铁乘车码界面,从而简化用户操作。而与地铁乘车码界面所属应用关联的快速入口的显示时机,则需要考虑到及时性,且避免对用户的过多打扰,需要符合用户的需求,以使得快速入口能够在用户需要坐地铁时展示给用户。本申请的一些实施例中提供了一种地铁出行检测方法,电子设备可以基于用户的行为状态,确定是否需要弹出乘车态卡片。并且,电子设备可以抑制在不需要乘坐地铁的用户的乘车卡片的弹出,提升用户使用体验。
[0006] 第一方面,本申请提供一种地铁出行检测方法。该方法包括:电子设备的界面中显示第一乘车态卡片;第一乘车态卡片中包括电子设备所在第一地铁站的名称和刷码选项,第一乘车态卡片用于提示当前地铁站为第一地铁站,并且第一乘车态卡片还用于提供与地铁乘车码界面关联的应用入口。电子设备检测到电子设备使用地铁乘车码界面中的地铁乘车码刷码进入第一地铁站,将第一乘车态卡片更新为常规态卡片,常规态卡片包括刷码选项。电子设备检测到电子设备所属用户乘坐地铁到达第二地铁站后,检测到电子设备的运动状态为步行状态,获取电子设备保存的第二地铁站的第一显示信息;第一显示信息中包括第一弹卡参数和第一不弹卡参数;若第一弹卡参数大于第一不弹卡参数,则显示第二乘车态卡片;第二乘车态卡片中包括第二地铁站的名称和刷码选项;订阅电子设备是否使用地铁乘车码界面中的地铁乘车码刷码离开第二地铁站;检测到电子设备未使用地铁乘车码界面中的地铁乘车码刷码离开第二地铁站,将显示第二乘车态卡片切换为显示常规态卡片;获取第二地铁站的第二显示信息,第二显示信息包括第二弹卡参数和第二不弹卡参数,第二弹卡参数为第一弹卡参数减预设值得到的,第二不弹卡参数为第一不弹卡参数加预设值得到的;检测到电子设备所属用户再次乘坐地铁到达第二地铁站后,检测到电子设备的运动状态为步行状态,获取电子设备保存的第二地铁站的第二显示信息;根据第二显示信息确定第二弹卡参数与第二不弹卡参数之间的大小关系,确定是否显示第二乘车态卡片。这样,电子设备可以基于用户每次在站点内的刷码情况,更新站点对应的显示信息,并可以基于站点对应的显示信息,确定是否允许弹出乘车卡片。从而提供一种动态检测方法,可基于不同的用户在不同地铁站的刷码行为,确定是否允许在地铁站内弹出乘车态卡片,以抑制在该地铁站的卡片的弹出。
[0007] 示例性的,弹卡参数与不弹卡参数是与乘车态卡片关联的。也就是说,电子设备可基于地铁站对应的弹卡参数与不弹卡参数,确定是否允许在该地铁站弹出乘车态卡片。弹卡参数与不弹卡参数不影响常规态卡片的显示状态。
[0008] 根据第一方面,检测到电子设备使用地铁乘车码界面中的地铁乘车码刷码进入第一地铁站之前,方法还包括:检测到电子设备所属用户乘坐地铁到达第二地铁站后,检测到电子设备的运动状态为步行状态,并且,电子设备中未保存对应于第二地铁站的显示信息,显示第二乘车态卡片;订阅电子设备是否使用地铁乘车码界面中的地铁乘车码刷码离开第二地铁站;检测到电子设备未使用地铁乘车码界面中的地铁乘车码刷码离开第二地铁站,取消显示第二乘车态卡片;保存第二地铁站的第三显示信息,第三显示信息包括第三弹卡参数和第三不弹卡参数,第三弹卡参数为初始弹卡参数值减预设值得到的,第三不弹卡参数为初始不弹卡参数值加预设值得到的。这样,电子设备可通过多次更新弹卡参数的方式,确定是否需要对地铁站的乘车态卡片进行抑制。
[0009] 根据第一方面,或者以上第一方面的任意一种实现方式,初始弹卡参数值为1,初始不弹卡参数值为0,预设值为0.2。
[0010] 根据第一方面,或者以上第一方面的任意一种实现方式,检测到电子设备使用地铁乘车码界面中的地铁乘车码刷码进入第一地铁站之前,方法还包括:检测到电子设备所属用户乘坐地铁到达第二地铁站后,检测到电子设备的运动状态为步行状态,获取第二地铁站的第三显示信息;第三弹卡参数大于第三不弹卡参数,显示第二乘车态卡片;订阅电子设备是否使用地铁乘车码界面中的地铁乘车码刷码离开第二地铁站;检测到电子设备未使用地铁乘车码界面中的地铁乘车码刷码离开第二地铁站,取消显示第二乘车态卡片;获取第二地铁站的第一显示信息,第一弹卡参数为第三弹卡参数减预设值得到的,第一不弹卡参数为第三不弹卡参数加预设值得到的。这样,电子设备可通过多次更新弹卡参数的方式,确定是否需要对地铁站的乘车态卡片进行抑制。
[0011] 根据第一方面,或者以上第一方面的任意一种实现方式,方法还包括:订阅电子设备是否使用地铁乘车码界面中的地铁乘车码刷码离开第二地铁站;检测到电子设备未使用地铁乘车码界面中的地铁乘车码刷码离开第二地铁站,获取第二地铁站的第四显示信息;第四显示信息包括第四弹卡参数和第四不弹卡参数,第四弹卡参数为第二弹卡参数减预设值得到的,第四不弹卡参数为第二不弹卡参数加预设值得到的。这样,在用户初次到达某个地铁站并检测到需要弹卡的情况下,可默认为允许弹卡。如果用户在该站点未刷码,则可基于设定的规则,更新该站点对应的弹卡参数和不弹卡参数。
[0012] 根据第一方面,或者以上第一方面的任意一种实现方式,方法还包括:检测到电子设备所属用户再次乘坐地铁到达第二地铁站,且检测到电子设备的运动状态为步行状态,获取电子设备保存的第二地铁站的第四显示信息;第四弹卡参数小于第四不弹卡参数,不显示第二乘车态卡片;订阅电子设备是否使用地铁乘车码界面中的地铁乘车码刷码离开第二地铁站;检测到电子设备未使用地铁乘车码界面中的地铁乘车码刷码离开第二地铁站,并且,第四弹卡参数为预设最小值,第四不弹卡参数为预设最大值,不更新第四显示信息。这样,电子设备可基于用户刷码行为,动态更新站点所对应的弹卡参数和不弹卡参数,直至弹卡参数与不弹卡参数达到最大值或最小值。
[0013] 根据第一方面,或者以上第一方面的任意一种实现方式,方法还包括:订阅电子设备是否使用地铁乘车码界面中的地铁乘车码刷码离开第二地铁站;检测到电子设备使用地铁乘车码界面中的地铁乘车码刷码离开第二地铁站,获取第二地铁站的第五显示信息;第五显示信息包括第五弹卡参数和第五不弹卡参数,第五弹卡参数为第二弹卡参数加预设值得到的,第五不弹卡参数为第二不弹卡参数减预设值得到的。这样,电子设备检测到用户刷码离开地铁站,则电子设备可对该地铁站对应的弹卡参数和不弹卡参数进行更新,以用于下一次弹卡检测。
[0014] 根据第一方面,或者以上第一方面的任意一种实现方式,方法还包括:检测到电子设备所属用户乘坐地铁到达第二地铁站,且检测到电子设备的运动状态为步行状态,获取电子设备保存的第二地铁站的第五显示信息;第五弹卡参数大于第五不弹卡参数,显示第二乘车态卡片。这样,电子设备可基于弹卡参数与不弹卡参数,确定在地铁站是否允许弹出乘车态卡片。
[0015] 根据第一方面,或者以上第一方面的任意一种实现方式,检测到电子设备使用地铁乘车码界面中的地铁乘车码刷码进入第一地铁站,包括:订阅地铁站的粗精度围栏,粗精度围栏用于指示电子设备位于地铁站附近;检测到电子设备位于第一地铁站附近,确定述第一地铁站对应的粗精度围栏触发;第一地铁站对应的粗精度围栏触发后,订阅第一地铁站对应的第一高精度围栏;第一高精度围栏用于指示电子设备位于第一地铁站的闸机附近;检测到电子设备位于第一地铁站的闸机附近,确定第一高精度围栏触发;第一高精度围栏触发后,订阅第一室内围栏;第一室内围栏用于指示电子设备位于第一地铁站的室内;检测到电子设备位于第一地铁站的室内,确定第一室内围栏被触发;在第一高精度围栏被触发且第一室内围栏被触发的情况下,确定电子设备进入第一地铁站;确定电子设备进入第一地铁站后,获取电子设备保存的第一地铁站的第六显示信息;第六显示信息中包括第六弹卡参数和第六不弹卡参数;第六弹卡参数大于第六不弹卡参数,显示第一乘车态卡片。示例性的,电子设备通过设置多个地铁围栏,可以逐渐提升检测精度和准确性,以避免发生用户在地铁附近而未在地铁的闸机附近就弹卡的场景,或者是用户在地铁的闸机附近而未进入地铁站内的场景等,以在提高对需要乘坐地铁的用户的检测精准度的同时,避免对不需要乘坐地铁的用户的打扰。
[0016] 根据第一方面,或者以上第一方面的任意一种实现方式,订阅电子设备是否使用地铁乘车码界面中的地铁乘车码刷码离开第二地铁站,包括:订阅应用围栏,应用围栏包括至少一个服务的标识,至少一个服务为包含地铁乘车码的服务;响应于接收到的点击刷码选项的操作,显示第一应用的第一服务的界面;获取第一服务的标识,第一服务的标识包括第一应用的标识和第一服务的活动Activity标识;检测到第一服务的标识与应用围栏指示的至少一个服务的标识匹配,订阅第一服务所属第一窗口是否包含地铁乘车码;检测到第一窗口中包含地铁乘车码,订阅第一窗口发生的窗口内容变化事件,并且,订阅电子设备是否发生翻腕事件;在第一预定时长内,第一窗口未发生第一目标事件,并且电子设备未发生翻腕事件,确定电子设备未使用地铁乘车码界面中的地铁乘车码刷码离开第二地铁站;第一窗口发生第一目标事件,第一目标事件属于窗口内容变化事件,第一目标事件用于指示第一窗口显示刷码成功界面。这样,电子设备可基于刷码围栏,检测用户在地铁站是否刷码,从而基于检测结果,确定更新显示信息的方式。
[0017] 根据第一方面,或者以上第一方面的任意一种实现方式,订阅电子设备是否使用地铁乘车码界面中的地铁乘车码刷码离开第二地铁站,包括:检测到电子设备离开第二地铁站,获取电子设备保存的第一刷码信息,第一刷码信息用于指示电子设备在第二地铁站内未显示过地铁乘车码界面;基于第一刷码信息,确定电子设备未使用地铁乘车码界面中的地铁乘车码刷码离开第二地铁站。这样,电子设备可基于电子设备的运动状态以及结合地铁围栏,确定用户是否刷码。
[0018] 根据第一方面,或者以上第一方面的任意一种实现方式,订阅电子设备是否使用地铁乘车码界面中的地铁乘车码刷码离开第二地铁站,包括:检测到电子设备离开第二地铁站,获取电子设备保存的第二刷码信息;第二刷码信息用于指示电子设备在第二地铁站内显示过地铁乘车码界面,并且,第二刷码信息还用于指示电子设备上一次刷码为刷码进入第一地铁站;基于第二刷码信息,确定第二地铁站为非起始站,且电子设备在第二地铁站内显示过地铁乘车码界面,以及电子设备在显示地铁乘车码界面之后,未检测到电子设备使用地铁乘车码界面中的地铁乘车码刷码离开第二地铁站;检测电子设备当前的运动状态是否为乘坐地铁状态;当电子设备当前的运动状态为乘坐地铁状态,确定电子设备未使用地铁乘车码界面中的地铁乘车码刷码离开第二地铁站;当电子设备当前的运动状态为非乘坐地铁状态,在第二预定时长后,检测电子设备最近一次到达的地铁站是否为第二地铁站;电子设备最近一次到达的地铁站非第二地铁站,确定电子设备未使用地铁乘车码界面中的地铁乘车码刷码离开第二地铁站。这样,电子设备可基于电子设备的运动状态以及结合地铁围栏,确定用户是否刷码。
[0019] 根据第一方面,或者以上第一方面的任意一种实现方式,第二乘车态卡片的提示强度大于常规态卡片的提示强度。
[0020] 根据第一方面,或者以上第一方面的任意一种实现方式,第二乘车态卡片的提示方式包括以下至少之一:若电子设备显示的卡片组中包括多个卡片,第二乘车态卡片置于多个卡片中的其它卡片上方显示;电子设备显示第二乘车态卡片时,振动和/或播放提示音。
[0021] 根据第一方面,或者以上第一方面的任意一种实现方式,常规态卡片的提示方式为:
[0022] 若电子设备显示的卡片组中包括多个卡片,常规态卡片与多个卡片中的其它卡片轮询显示。
[0023] 根据第一方面,或者以上第一方面的任意一种实现方式,所述电子设备在桌面、锁屏界面、应用界面、下拉菜单栏、负一屏中的至少一个界面中显示所述第一乘车态卡片。
[0024] 根据第一方面,或者以上第一方面的任意一种实现方式,所述电子设备在应用界面显示所述第一乘车态卡片时,所述第一乘车态卡片为悬浮控件形式。
[0025] 第二方面,本申请提供一种电子设备。该电子设备包括:一个或多个处理器、存储器;以及一个或多个计算机程序,其中一个或多个计算机程序存储在存储器上,当计算机程序被一个或多个处理器执行时,使得电子设备执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
[0026] 第二方面以及第二方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第二方面以及第二方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
[0027] 第三方面,本申请实施例提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
[0028] 第三方面以及第三方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第三方面以及第三方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
[0029] 第四方面,本申请实施例提供了一种计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
[0030] 第四方面以及第四方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第四方面以及第四方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
[0031] 第五方面,本申请实施例提供一种芯片,该芯片包括处理电路、收发管脚。其中,该收发管脚、和该处理电路通过内部连接通路互相通信,该处理电路执行第一方面或第一方面的任一种可能的实现方式中的方法,以控制接收管脚接收信号,以控制发送管脚发送信号。

附图说明

[0032] 图1为示例性示出的电子设备的硬件结构示意图;
[0033] 图2为示例性示出的地铁出行检测方法流程示意图;
[0034] 图3为示例性示出的地铁出行检测方法流程示意图;
[0035] 图4a~4g为示例性示出的应用场景示意图;
[0036] 图5为示例性示出的应用场景示意图;
[0037] 图6为示例性示出的乘车卡片示意图;
[0038] 图7a~7d为示例性示出的用户界面示意图;
[0039] 图8为示例性示出的刷码检测方法的流程示意图;
[0040] 图9为示例性示出的用户界面示意图;
[0041] 图10为示例性示出的感知模块订阅刷码围栏的流程示意图;
[0042] 图11为示例性示出的用户界面示意图;
[0043] 图12为示例性示出的应用场景示意图;
[0044] 图13为示例性示出的用户界面示意图;
[0045] 图14为示例性示出的地铁出行检测方法的流程示意图;
[0046] 图15a~15d为示例性示出的应用场景示意图;
[0047] 图16为示例性示出的用户界面示意图;
[0048] 图17为示例性示出的地铁出行检测方法的流程示意图;
[0049] 图18为示例性示出的应用场景示意图;
[0050] 图19为示例性示出的电子设备的软件结构示意图。

具体实施方式

[0051] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0052] 本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
[0053] 本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。
[0054] 在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
[0055] 在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。
[0056] 图1示出了电子设备100的结构示意图。应该理解的是,图1所示电子设备100仅是电子设备的一个范例,并且电子设备100可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图1中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
[0057] 电子设备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可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。
[0058] 本申请的一些实施例涉及地铁站相关的粗精度围栏(如, 围栏)和高精度围栏,对于一个地铁站而言,其可以对应一个粗精度围栏(如, 围栏)和一个高精度围栏。该粗精度围栏(如, 围栏)可以是该能够标识该地铁站的地理范围的一个地理围栏,用户若携带电子设备进入该地铁站的地理范围内,则可以触发该粗精度围栏;高精度围栏可以是指该地铁站里的刷码闸机的地理范围的一个地理围栏,用户若携带电子设备进入该地铁站里的刷码闸机的地理范围内,则可以触发该高精度围栏。其中,所述地理围栏可以通过地理位置(如通过GPS定位等方式确定地理位置)来标识该地理围栏对应的地理范围,也可以通过该地理范围内的信号指纹(如该地理范围内所能检测到的基站信息、wifi信息、蓝牙信息等)来标识该地理围栏对应的地理范围。
[0059] 示例性的,电子设备100的软件结构中可以包括感知模块、智慧出行服务以及第三方应用等。可选地,本申请实施例中涉及的第三方应用包括支付应用、一卡通等包括地铁乘车服务的应用。
[0060] 图2为示例性示出的地铁出行检测方法流程示意图。请参照图2,具体包括:
[0061] S201a,智慧出行服务向感知模块指示注册城市围栏。
[0062] 示例性的,本申请实施例中,云端可获取到城市中的地铁出行网络信息。地铁出行网络信息中可包括所在城市中的各地铁站的站点信息,站点信息包括但不限于:地铁站名称、地铁站位置、地铁站内的Wi‑Fi信息、地铁站附近的蜂窝网络信息、地铁站内的蓝牙网络信息等。
[0063] 示例性的,地铁站名称即为该站的站名,例如可以是国家图书馆站、北京西站等。
[0064] 示例性的,地铁站位置可选地为地铁站的经纬度信息。
[0065] 示例性的,地铁站内的Wi‑Fi信息可选地为地铁站内(也可以理解为闸机附近)的Wi‑Fi网络信息。Wi‑Fi网络信息可以包括但不限于:Wi‑Fi网络的标识信息、Wi‑Fi网络的地址信息等。
[0066] 示例性的,地铁站附近的蜂窝网络信息可选地为地铁站附近的基站对应的小区标识。可选地,蜂窝网络信息也可以是基站的标识信息,本申请不做限定。举例说明,国家图书馆站附近包括基站A和基站B,基站A包括小区1、小区2和小区3,其中,小区2和小区3覆盖国家图书馆站(可以是全部覆盖,也可能是部分覆盖),基站B包括小区4和小区5,小区4覆盖国家图书馆站。相应的,国家图书馆站的蜂窝网络信息包括但不限于:基站A的小区2的标识信息、基站A的小区3的标识信息、基站B的小区4的标识信息。可选地,国际图书馆站的蜂窝网络信息也可以包括基站A的标识信息和基站B的标识信息。
[0067] 可选地,布设有地铁的城市中,可能有部分城市可对应有地铁出行网络信息。例如,城市A、城市B和城市C均布设有地铁,云端只存储有城市A和城市B的地铁出行网络信息。相应的,位于城市A中的手机,可以基于从云端获取到的城市A对应的地铁出行网络信息,执行地铁出行检测流程。位于城市B中的手机,可以基于从云端获取到的城市B对应的地铁出行网络信息,执行地铁出行检测流程。对于城市C,在云端未获取到城市C的地铁出行网络信息之前,位于城市C中的手机是无法执行地铁出行检测流程的。
[0068] 在本申请实施例中,智慧出行服务可向感知模块发送指示信息,用于指示感知模块注册城市围栏。也就是说,智慧出行服务指示感知模块订阅城市围栏,以检测手机当前是否在指定城市内。示例性的,指定城市可选地为上文所述的云端所存储的对应有地铁网络信息的城市,也可以理解为,可以支持手机执行地铁出行检测的城市。感知模块可基于智慧出行服务的指示,订阅城市围栏。
[0069] 在一种可能的实现方式中,感知模块可以在首次开机、初始化、灭屏充电等任一场景时,从云端获取云端存储的各城市的城市信息以及各城市的地铁出行网络信息。其中,云端所存储的城市即为上文所述的对应有地铁出行网络信息的城市。城市信息包括但不限于:城市名称和城市范围。示例性的,感知模块在订阅围栏时,可基于已获取到的相关信息,订阅对应的围栏。例如,在下面的实施例中,感知模块已从云端获取到当前所处城市的各地铁站的蜂窝网络信息,感知模块可基于以获取到的蜂窝网络信息,订阅地铁站的及刻围栏,具体实现方式将在下面的实施例中说明。
[0070] 可选地,感知模块可以周期性地从云端获取城市信息和地铁网络出行信息。可选地,云端保存的城市信息和地铁出行网络信息可能存在更新,感知模块可将新获取到的城市信息和地铁出行网络信息覆盖上一次获取到的地铁出行网络信息。一个示例中,感知模块可以周期性地(例如每隔3天)向云端发送请求消息,以请求云端反馈地铁出行网络信息。另一个示例中,云端可以周期性地向手机推送地铁出行网络信息。又一个示例中,云端可以在地铁出行网络信息发生更新的情况下,向手机推送地铁出行网络信息。可选地,云端可以仅反馈更新的地铁出行网络信息,感知模块可基于获取到的地铁出行网络信息,对已保存的地铁出行网络信息进行更新。又一个示例中,手机可以在灭屏充电时,从云端获取最新的的城市信息和地铁网络出行信息,从而节省手机耗电。
[0071] 示例性的,感知模块可基于已获取到的城市信息,订阅城市围栏。并且,感知模块在执行下文实施例中的相关步骤时,可从以获取到的地铁出行网络信息中获取相关信息,以订阅对应的围栏。
[0072] 示例性的,感知模块订阅城市围栏后,感知模块可获取到手机所处地理位置。例如,感知模块可以调用手机的GPS功能,以获取到手机所处的地理位置(例如经纬度信息)。再例如,手机中的其它应用调用GPS,以获取手机的位置时,感知模块可以从其他应用中获取到手机的位置信息。
[0073] 可选地,感知模块可以周期性地获取手机的地理位置信息。
[0074] 一个示例中,感知模块检测到手机的地理位置位于指定城市的范围内,感知模块可确定城市围栏触发,执行S201b。举例说明,仍以上文举例为例,云端保存有城市A和城市B的地铁网络信息,而未保存有城市C的地铁网络信息。感知模块从云端获取到城市A的城市信息和城市B的城市信息。感知模块基于城市A的城市信息和城市B的城市信息订阅城市围栏。感知模块周期性地获取手机的地理位置。示例性的,感知模块检测到手机所处地理位置位于城市A的城市范围内,感知模块可确定城市围栏触发,执行S201b。另一个示例中,如上文所述,感知模块可周期性地获取到手机的地理位置,若用户从城市A移动到城市C,感知模块检测到手机的地理位置移出城市A的城市范围,并且,感知模块未能检测到与当前地理位置对应的城市信息,则,感知模块重新执行S201a。可以理解为,当手机执行下文实施例中的任一步骤时,感知模块仍可周期性地获取手机的地理位置,当感知模块检测到手机的地理位置在城市围栏所指定的城市范围内,感知模块可继续执行当前步骤。当感知模块检测到手机的地理位置未在城市围栏所指定的城市范围内,感知模块结束当前执行的步骤,并重新返回S201a,即,继续对城市围栏进行检测,直至手机进入城市围栏所指定的城市范围内。
[0075] 在一种可能的实现方式中,感知模块接收到智慧出行服务的订阅城市围栏的指示后,感知模块可以获取手机的当前位置。感知模块可以将获取到的地理位置信息上报至云端,云端可以将获取到的地理位置与已保存的对应有地铁出行网络信息的城市范围进行对比,以确定手机是否在指定的城市范围内。云端可以将对比结果发送给感知模块,感知模块可以基于云端的对比结果,确定是否触发城市围栏。感知模块可以周期性地执行上述步骤。也就是说,感知模块可以不缓存城市信息,以降低系统缓存占用。
[0076] 在另一种可能的实现方式中,感知模块可以从云端获取对应有地铁出行网络信息的城市的城市信息。感知模块可以基于获取到的城市信息,订阅城市围栏。
[0077] S201b,感知模块向智慧出行服务指示城市围栏触发。
[0078] 示例性的,感知模块确定城市围栏触发,即手机在指定城市范围内后,感知模块可向智慧出行服务指示城市围栏触发。
[0079] 在一种可能的实现方式中,如上文所述,感知模块只获取到城市信息,在城市围栏触发后,感知模块可以向云端发送请求消息,请求消息中可以包括手机所属城市的名称,该消息可用于请求云端反馈所述城市对应的地铁出行网络信息。也就是说,感知模块在确定手机所处的城市之后,再获取该城市对应的地铁出行网络信息,可有减少手机的缓存占用。
[0080] S202a,智慧出行服务向感知模块指示注册刷码记录围栏。
[0081] 可选地,智慧出行服务接收到感知模块发送的城市围栏触发指示后,可确定手机所在城市布设有地铁网络,并且,手机可以从云端获取到该城市的地铁出行网络信息,以执行地铁出行检测。
[0082] 示例性的,智慧出行服务可以向感知模块发送指示信息,用于指示感知模块注册刷码记录围栏。其中,刷码记录围栏的作用可以理解为指示感知模块检测是否手机是否曾经成功刷码,也可以理解为,用户是否通过刷码乘过地铁。
[0083] 示例性的,本申请实施例中,智慧出行服务(或感知模块)可记录有刷码记录,当用户每次通过手机中的第三方应用或者是系统应用提供的刷码服务成功刷码后,智慧出行服务可保存刷码成功记录。
[0084] 可选地,对于一些用户,例如老人或不需要乘坐地铁的用户,其可能从未通过刷码方式乘坐地铁,对于这类用户,智慧出行服务无需为这类用户提供地铁出行检测,即,无需执行后续的基站检测、Wi‑Fi检测等流程,以有效降低这类用户的手机的功耗。可选地,感知模块已订阅刷码记录围栏,当感知模块可在检测到手机刷码成功,可确定刷码记录围栏触发。举例说明,用户A从未刷码乘过地铁,感知模块订阅刷码记录围栏后,并未触发。某日,用户A通过支付应用中的刷码服务成功刷码并乘坐地铁,感知模块可检测到手机刷码成功,并且确定刷码记录围栏触发,执行S202b。
[0085] 示例性的,对于安装有刷码服务应用,并且通过刷码服务刷码乘过车的手机,感知模块可检测到手机保存有刷码记录,可确定刷码记录围栏触发,执行S202b。
[0086] 需要说明的是,本申请实施例中所述的刷码服务可选地为通过乘车二维码刷码的方式。对于通过NFC等方式刷卡进站的方式,则不适用于本申请。举例说明,若手机通过NFC的刷卡方式乘车,则感知模块不会触发刷码记录围栏,直至用户通过乘车码刷码成功后,才会触发刷码记录围栏。
[0087] S202b,感知模块向智慧出行服务指示刷码记录围栏触发。
[0088] 示例性的,感知模块检测到刷码记录围栏触发后,可向智慧出行服务发送指示信息,用用户指示刷码记录围栏触发。
[0089] 在一种可能的实现方式中,刷码围栏为可选地围栏。例如,手机在检测到城市围栏触发后,可以执行S203a。本申请不做限定。
[0090] S203a,智慧出行服务向感知模块指示注册家围栏、公司围栏和睡眠围栏。
[0091] 示例性的,智慧出行服务向感知模块发送指示信息,用于指示感知模块订阅家围栏、公司围栏和睡眠围栏中的至少一个。感知模块响应于智慧出行服务的指示,注册家围栏、公司围栏和睡眠围栏中的至少一个。本申请实施例中以智慧出行服务指示感知模块订阅家围栏、公司围栏和睡眠围栏为例进行说明。需要说明的是,本申请实施例中的围栏仅为示意性举例,在其他实施例中,还可以包括其它条件的围栏,例如可以是时间围栏,例如时间围栏可以指示本城市中最后一趟地铁停运时间至本城市首班地铁起始时间之间。本申请不做限定。
[0092] 示例性的,家围栏可以理解为是当感知模块检测到手机所处位置为用户家中,则可不执行后续的步骤,当感知模块检测到用户离家之后,可确定家围栏触发。
[0093] 示例性的,公司围栏可以理解为是当感知模块检测到手机所处位置为用户公司中,则可不执行后续的步骤,当感知模块检测到用户离开公司之后,可确定公司围栏触发。
[0094] 需要说明的是,在其他实施例中,本步骤中的围栏还可以包括学校围栏等其它围栏,其具体处理方式与公司围栏和家围栏类似,此处不再赘述。
[0095] 示例性的,感知模块可预先获取到家围栏信息、公司围栏信息和睡眠围栏信息。感知模块接收到智慧出行服务的指示后,可基于获取到的家围栏信息、公司围栏信息和睡眠围栏信息,订阅相应的围栏。一个示例中,家围栏信息、公司围栏信息和睡眠围栏信息可以保存在云端,感知模块在获取地铁网络信息时,可从云端获取到家围栏信息、公司围栏信息和睡眠围栏信息。需要说明的是,家围栏信息、公司围栏信息和睡眠围栏信息是与用户账号对应的,用户登录手机后,可从云端获取到与用户账号对应的家围栏信息等。也就是说,不同的用户账号所对应的家围栏信息等是不相同的。另一个示例中,家围栏信息、公司围栏信息和睡眠围栏信息可以保存在本地。
[0096] 可选地,家围栏信息可以包括但不限于以下至少之一:用户家庭中的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小时)内未发生切换,则可确认该蜂窝网络覆盖用户家庭或用户公司。
[0097] 可选地,感知模块可以基于上述多个信息,以检测用户是否在家,即对家围栏进行监控。当满足其中任意一个条件时,例如感知模块检测到手机连接Wi‑Fi,则可确定用户在家。可选地,当感知模块检测到与家中的Wi‑Fi连接断开预定时长(例如10分钟)后,可确定家围栏触发,即用户离家。
[0098] 需要说明的是,若感知模块通过检测到家围栏中的多个条件都满足,例如,手机连接家中的Wi‑Fi,并且手机的地理位置在用户家庭范围内,感知模块确定用户在家。在判断用户是否离家时,只要家围栏中的任意一个条件触发,即可确定用户离家,例如,感知模块检测到Wi‑Fi断开预定时长,但未检测到手机的地理位置移出用户家庭范围,则感知模块仍确定用户离家,即家围栏触发,执行S203b。当然,在其他实施例中,感知模块也可以在检测到的条件都触发的情况下,例如,感知模块检测到Wi‑Fi断开后,再进一步检测到手机的地理位置移出家庭范围外之前,感知模块不触发家围栏,在检测到手机的地理位置移出家庭范围外后,感知模块确定用户离家,即家围栏触发,从而防止误判。
[0099] 示例性的,对于公司围栏,其判断方式与家围栏类似,此处不再赘述。
[0100] 示例性的,睡眠围栏可指示睡眠时间区间,例如可以是23:00至次日5:00,在该事件区间内,用户通常是在睡眠,无需执行后续的地铁出行检测。感知模块可对时间进行检测,当进入睡眠围栏指示的时间,则无需执行后续的步骤。当感知模块确定当前时间不在睡眠围栏指定的时间范围内,则可确定睡眠围栏触发。
[0101] 需要说明的是,若感知模块订阅上述家围栏、公司围栏等多个围栏,当满足任意一个围栏指定的条件,则不执行后续的步骤,也就是说,感知模块确定用户在家,无需执行后续的步骤,从而降低功耗。
[0102] 进一步需要说明的是,感知模块订阅上述围栏后,可实时进行监控,在执行下面实施例中的任意一个步骤时,若S203a中的任意一个围栏满足,则停止执行当前步骤,并对S203a中的围栏进行检测。举例说明,若感知模块在执行下面的S204a时,感知模块检测到手机连接用户家庭的Wi‑Fi,感知模块可确定用户在家,并执行S203a,即对家围栏进行订阅,在用户再次离家后,再执行后续的步骤。
[0103] 进一步需要说明的是,在本步骤中,若用户检测到满足围栏的条件,可确定用户在家,而当用户检测到手机不满足围栏的条件,例如断开围栏所指示的Wi‑Fi,则可确定用离开家,即围栏触发。
[0104] 举例说明,如图4a所示,用户当前位置是在家中,感知模块订阅家围栏、公司围栏和睡眠围栏后,感知模块获取到用户当前位置信息。感知模块基于用户当前位置,确定用户在家中。感知模块对家围栏进行检测,以检测用户是否离开家。请参照图4b,示例性的,用户离开家后,感知模块基于用户的当前位置,确定用户离开家,感知模块确定家围栏触发,并执行S203b。
[0105] S203b,感知模块向智慧出行服务指示家围栏、公司围栏、睡眠围栏触发。
[0106] 示例性的,感知模块检测到上述任一围栏触发,可向智慧出行服务发送指示信息,以指示对应的围栏触发。例如,感知模块检测到用户离开家,即确定家围栏触发,感知模块向智慧出行服务发送指示信息,用于指示家围栏触发。
[0107] S204a,智慧出行服务指示感知模块注册运动状态围栏。
[0108] 示例性的,智慧出行服务响应于感知模块指示的家围栏、公司围栏和/或睡眠围栏触发,智慧出行服务向感知模块发送指示信息,用于指示感知模块订阅运动状态围栏。
[0109] 示例性的,感知模块响应于智慧出行服务的指示,订阅运动状态围栏后,可周期性地获取手机的运动状态。一个示例中,感知模块可通过调用手机中的传感器(例如加速度传感器等)以获取手机的运动状态。另一个示例中,感知模块也可以通过手机中的其它可实时获取手机的运动状态应用中,获取到手机的运动状态。
[0110] 示例性的,运动状态围栏围栏可用于指示感知模块对手机的运动状态进行检测,以检测用户是否处于步行状态。示例性的,感知模块可设置有各运动状态对应的阈值,例如设置有步行状态阈值、骑行状态阈值、乘坐地铁状态阈值、乘坐汽车状态阈值等。需要说明的是,各阈值可以是一个数值,也可以是一个范围,本申请不做限定。感知模块可基于从传感器获取到的参数,与设置的各阈值进行比较,以确定运动状态。例如,若感知模块基于从传感器获取到的参数,检测到参数满足步行状态阈值,则可确定运动状态为步行状态。再例如,若感知模块基于从传感器获取到的参数,检测到参数满足骑行状态阈值,则可确定运动状态为骑行状态。
[0111] 一个示例中,若感知模块基于获取到的手机的运动状态,确定当前用户为步行状态,则确定运动状态围栏触发,执行S204b。
[0112] 另一个示例中,若感知模块基于获取到的手机的运动状态,确定当前用户非步行状态,例如是骑行状态或者是乘车状态,可确定运动状态围栏未触发。
[0113] 举例说明,如图4b所示,用户离开家后,智慧出行服务基于感知模块的指示,确定用户离开家。智慧出行服务指示感知模块订阅运动状态围栏。感知模块响应于智慧出行服务的指示订阅运动状态围栏后,周期性地获取手机的运动状态。用户离开家后,骑行向地铁站移动。感知模块可检测到手机的运动状态非步行。请参照图4c,示例性的,用户到达地铁站附近,用户下车步行至地铁站。示例性的,感知模块可获取到手机当前的运动状态,并确定手机的运动状态(也可以理解为是用户的运动状态)为步行,感知模块可确定运动状态围栏触发,执行S204b。
[0114] 需要说明的是,在本申请实施例中,感知模块订阅运动状态围栏后,可周期性地对运动状态围栏进行检测。在感知模块执行下面实施例中的任意步骤时,如果感知模块检测到手机的运动状态非步行,则重新执行S204a,即继续对运动状态围栏进行检测。举例说明,仍参照图4c,用户步行时,感知模块可确定运动状态围栏触发,感知模块执行后续的步骤,在感知模块在执行图3中的任意步骤时,感知模块获取到手机的运动状态非步行,感知模块可结束当前步骤。例如,用户步行至地铁站附近,感知模块可正在对及刻围栏进行检测(具体方式将在下文中说明),用户再次骑车行进。感知模块检测到手机的运动状态变为非步行状态,感知模块可解除当前步骤,即不再对及刻围栏进行检测,而是重复执行S204a中所描述的,对运动状态进行检测。
[0115] S204b,感知模块向智慧出行服务指示运动状态围栏触发。
[0116] 示例性的,感知模块确定用户步行,即确定运动状态围栏触发后,向智慧出行服务发送指示信息,用于指示运动状态围栏触发。
[0117] 结合图2,图3为示例性示出的地铁出行检测方法流程示意图,请参照图3,具体包括:
[0118] S301a,智慧出行服务向感知模块指示注册及刻围栏。
[0119] 示例性的,智慧出行服务向感知模块发送指示信息,用于指示感知模块注册及刻围栏。感知模块响应于智慧出行服务的指示,注册及刻围栏。
[0120] 示例性的,及刻围栏用于指示感知模块对即刻围栏所指示的条件进行检测。如图4d所示,感知模块检测到满足及刻围栏的条件时,即可确定及刻围栏触发,执行S301b。可选地,及刻围栏的条件可以包括但不限于以下至少之一:地铁附近的蜂窝网络、地铁的地理范围等。
[0121] 示例性的,地铁附近的蜂窝网络可以为覆盖地铁的小区,具体描述可参照上文中的家附近蜂窝网络的相关内容,此处不再赘述。示例性的,当感知模块检测到手机扫描到或者是切换至地铁附近的蜂窝网络,即可确定用户到达地铁站附近,即确定该地铁站的及刻围栏触发。
[0122] 示例性的,地铁的地理范围可选地为地铁站的预设范围内,例如可以是500米,可以根据实际需求设置,本申请不做限定。示例性的,当感知模块检测到手机的地理位置位于地铁的地理范围内,可确定及刻围栏触发。
[0123] 需要说明的是,本申请实施例中所述的“地铁站附近”可选地为用户在地铁站附近200米范围内,或者是500米范围内,具体取决于及刻围栏所指示的地理范围的大小或者是地铁附近的基站的蜂窝网络覆盖范围大小。可选的,每个地铁站的及刻围栏所对应的范围相同或不同。举例说明,地铁站A的及刻围栏所指示的地理范围与地铁站B的及刻围栏所指示的地理范围不相同,其中,地铁站A的及刻围栏所指示的地理范围为地铁站A的500米范围内,地铁站B的及刻围栏所指示的地理范围为地铁站B的600米范围内。也就是说,当手机检测到用户到达地铁站A的500米范围内时,可确定地铁站A的及刻围栏触发。当手机检测到用户到达地铁站B的600米范围内时,可确定地铁站B的及刻围栏触发。
[0124] 示例性的,如上文所述,感知模块可从云端获取到所在城市内的地铁出行网络信息,其中包括各地铁站的站点信息(例如包括站点名称、蜂窝网络信息等,概念可参照上文,此处不再赘述)。感知模块可基于所在城市的各地铁站的站点信息中与及刻围栏所指定的条件对应的信息(可以简称为及刻围栏信息),订阅及刻围栏。
[0125] 例如及刻围栏信息可以包括但不限于以下至少之一:地铁站的地理位置和地铁站附近的蜂窝网络信息。可选地,地铁站的站点信息中可以包括地铁站的地理范围,每个地铁站对应的地理范围大小相同或不同。可选地,若各地铁站的站点信息中包括的是地铁站的地理位置,则感知模块可基于设定的范围大小(例如500米)确定地铁站的地理范围。
[0126] 举例说明,以及刻围栏的条件包括地铁附近的蜂窝网络为例。请参照图4e,示例性的,基站B的信号覆盖国家图书馆站,如上文所述,云端保存有各地铁站的站点信息(概念可参照上文,此处不再赘述)。感知模块可从云端获取到国家图书馆站的站点信息,站点信息包括国家图书馆站的名称、国家图书馆站的地理位置、国家图书馆站内的Wi‑Fi信息以及国家图书馆站附近的蜂窝网络信息(即基站B的标识信息)。
[0127] 示例性的,感知模块可从云端获取到各地铁站的站点信息,感知模块可基于获取到的各地铁站的站点信息,订阅各地铁站的及刻围栏。例如,国家图书馆站的及刻围栏是基于国家图书馆站的蜂窝网络信息设置的。即,当感知模块检测到手机接入国家图书馆站的及刻围栏所指示的蜂窝网络后,即可确定国家图书馆站的及刻围栏触发,也可以理解为用户到达国家图书馆站附近。
[0128] 举例说明,请参照图4e,用户处于用户位置A时,手机接入基站A。手机基于蜂窝网络的配置,可周期性地或者是触发性地扫描附近的蜂窝网络。示例性的,本申请实施例中所述的扫描可选地为手机可以接收到基站(或者是下文中的接入点)发送的探测信号,探测信号中可选地包括基站(或接入点)的标识信息、地址信息等信息。
[0129] 仍参照图4e,示例性的,手机在用户位置A上,只扫描到基站A。感知模块将基站A的标识信息与各地铁站的及刻围栏所指示的蜂窝网络进行匹配,感知模块确定未匹配成功,不作处理。
[0130] 示例性的,用户步行至用户位置B。手机仍接入基站A,在当前位置(即用户位置B),手机可扫描到基站A和基站B,并获取到基站A和基站B的标识信息。
[0131] 一个示例中,感知模块可将基站A的标识信息与基站B的标识信息分别与各地铁站的及刻围栏指示的蜂窝网络进行匹配。感知模块可确定基站B的标识信息与国家图书馆站的及刻围栏指示的蜂窝网络匹配成功,感知模块可确定用户到达国家图书馆站附近,即可确定国家图书馆站的及刻围栏触发。
[0132] 在另一个示例中,感知模块可将基站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个标准差的范围作为阈值范围,也就是说,当手机检测到蜂窝网络的通信质量参数在该阈值范围内,即可确定满足及刻围栏的条件。
[0133] 在又一个示例中,当用户处于用户位置B时,感知模块确定及刻围栏检测周期(可以根据实际需求设置,本申请不做限定)触发,感知模块检测当前接入的基站。感知模块可从移动通信模块150获取到当前接入的基站为基站A,即与上一次检测(例如用户位置A)时的结果相同,感知模块不作处理。当用户步行至用户位置C时,手机切换到基站B,即手机接入基站B。感知模块确定及刻围栏检测周期触发,感知模块获取当前接入的基站的信息。感知模块可从移动通信模块150获取到当前接入的基站为基站B的标识信息。感知模块将基站B的标识信息与各地铁站的及刻围栏指示的蜂窝网络进行匹配。感知模块确定基站B的标识信息与国家图书馆站的及刻围栏指示的蜂窝网络匹配成功,感知模块可确认用户在国家图书馆站附近,即可确定国家图书馆站的及刻围栏触发。
[0134] 在又一个示例中,移动通信模块150可以在每次切换基站后,向感知模块上报切换后的基站的标识信息。例如,在用户位置B时,手机未执行蜂窝网络切换,移动通信模块150不上报任何信息。当用户向地铁站方向移动(例如可能是在用户位置B与用户位置C之间的任意位置),手机检测到满足切换条件(具体细节可参照已有技术,本申请不做限定),手机切换到基站B。手机接入基站B后,移动通信模块150向感知模块上报切换后的基站,即基站B的标识信息。感知模块可基于基站B的标识信息,确定国家图书馆站的及刻围栏触发。
[0135] 举例说明,以及刻围栏的条件包括地铁站的地理范围为例。请参照图4e,示例性的,用户在用户位置B时,感知模块确定及刻围栏检测周期触发,感知模块获取手机当前的位置信息。感知模块将位置信息与各地铁站的及刻围栏所指示的地理范围匹配,并确定匹配失败,即,用户不在地铁站附近。用户步行至用户位置C时,感知模块确定及刻围栏检测周期触发,感知模块获取手机当前的位置信息。感知模块将位置信息与各地铁站的及刻围栏所指示的地理范围匹配,可确定与国家图书馆站的及刻围栏指示的地理范围匹配,感知模块确定国家图书馆站的及刻围栏触发。
[0136] 示例性的,若感知模块订阅的及刻围栏包括多个条件,例如包括地铁附近的蜂窝网络和地铁站的地理范围,当任意一个条件满足,例如检测到手机位于地铁站的地理范围内;或者,检测到手机接入地铁站附近的蜂窝网络;或者,检测到手机位于地铁站的地理范围内,且手机接入地铁站附近的蜂窝网络,即可确定及刻围栏触发。
[0137] 可选地,与上文中所述的运动状态围栏等围栏类似,感知模块订阅及刻围栏后,感知模块在执行下面实施例中的步骤时,同样会基于及刻围栏进行检测。举例说明,若在执行S303a,即感知模块对高精度围栏进行检测时,若感知模块检测到用户离开地铁站附近,即,不满足及刻围栏所指示的条件,则感知模块可停止当前流程,并对及刻围栏进行检测。
[0138] 例如用户到达地铁站附近后,感知模块确定及刻围栏触发,感知模块订阅高精度围栏,并对高精度围栏所指示的条件进行检测。感知模块同时还在检测及刻围栏对应的条件,如果用户在地铁站附近停留,并未进入高精度围栏的范围,并且,用户又离开了及刻围栏所指示的范围,感知模块可检测到用户离开及刻围栏。可选地,感知模块可停止对高精度围栏所指示的条件进行检测。可选地,感知模块可解除高精度围栏。可以理解为,在本申请实施例中,各围栏是层叠关系,在外层围栏触发,并且保持触发状态下,才对下一层围栏所指示的条件进行检测,以降低功耗。可选地,如果检测到当前不满足更外层的围栏所指示的条件,则停止对当前围栏所指示的条件进行检测。可选地,围栏可以保留,而只是不对围栏所指示的条件进行检测。可选地,感知模块也可以解除围栏,再外层各围栏触发之后,再重新订阅围栏,本申请不做限定。需要说明的是,本申请实施例中所述的“订阅”围栏可以理解为是建立围栏,也可以理解为是已经提前建立围栏,而在“订阅”之后才开始对围栏所指示的条件进行检测,本申请不做限定,下文中不再重复说明。
[0139] S301b,感知模块向智慧出行服务指示及刻围栏触发。
[0140] 示例性的,感知模块向智慧出行服务发送指示信息,用于指示及刻围栏触发。可选地,指示信息中可以包括站点名称,用于指示触发的及刻围栏所对应的站点。
[0141] S302a,智慧出行服务向感知模块指示注册高精度围栏。
[0142] 示例性的,智慧出行服务接收到感知模块的指示,确定地铁站(例如国家图书馆地铁站)的及刻围栏触发后,向感知模块发送指示信息,用于指示感知模块注册高精度围栏。可以理解为,及刻围栏是粗范围的围栏,当感知模块确定及刻围栏触发,即可确定用户到达地铁站附近。随后,手机可执行后续的高精度围栏的识别。也就是说,当粗精度围栏满足之后,才执行高精度围栏的识别,从而有效降低设备功耗。
[0143] 示例性的,如上文所述,感知模块已从云端获取到各地铁站的站点信息,其中包括当前地铁站,例如国家图书馆地铁站的站点信息,包括但不限于以下至少之一:地铁站名称、地铁站位置、地铁站内的Wi‑Fi信息、蓝牙网络信息、地铁站附近的蜂窝网络信息等。感知模块响应于智慧出行服务的指示,可基于已获取到的国家图书馆站对应的站点信息,订阅高精度围栏。
[0144] 可选地,高精度围栏的条件包括但不限于以下至少之一:地铁闸机附近的蓝牙网络信息、地铁闸机附近的Wi‑Fi网络信息等。相应的,感知模块可以基于国家图书馆站的站点信息中的Wi‑Fi信息和/或蓝牙网络信息,订阅国家图书馆站的高精度围栏,以检测用户是否到达国家图书馆站的闸机附近。
[0145] 请参照图4f,示例性的,感知模块订阅高精度围栏后,可对高精度围栏所指示的条件进行检测。当用户继续向地铁闸机方向步行至图4f中所示的用户位置时,感知模块可检测到满足高精度围栏所指示的条件,感知模块可确定高精度围栏触发。也就是说,感知模块可确认用户到达地铁站的闸机附近。
[0146] 下面以高精度围栏指示的条件包括地铁站附近的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地址信息等。
[0147] 感知模块可基于从云端获取到的国家图书馆站的Wi‑Fi网络信息,订阅国家图书馆站的高精度围栏。感知模块可通过手机的无线通信模块160获取到Wi‑Fi扫描结果。一个示例中,感知模块可以指示无线通信模块160执行Wi‑Fi扫描,以获取附近的Wi‑Fi信息(包括AP的名称、地址信息等)。另一个示例中,无线通信模块160可周期性地扫描附近Wi‑Fi,感知模块可以调用无线通信模块160的扫描结果。又一个示例中,无线通信模块160可以响应于手机中的其它应用执行Wi‑Fi扫描,感知模块同样可以获取到扫描结果。本申请实施例中以感知模块周期性地从无线通信模块160获取扫描结果为例进行说明。
[0148] 示例性的,感知模块基于扫描到的结果,检测是否进入国家图书馆站的高精度围栏。仍参照图4g,示例性的,当用户从图4e中的用户位置C步行至图4g中的用户位置D时,感知模块指示无线通信模块160进行Wi‑Fi扫描。假设该位置上不存在Wi‑Fi网络覆盖,则无线通信模块160未扫描到Wi‑Fi网络。无线通信模块160将扫描结果上报给感知模块。感知模块基于获取到的扫描结果,确定未触发高精度围栏。
[0149] 请继续参照图4g,示例性的,用户步行至用户位置E。在该位置上,无线通信模块160可扫描到Wi‑Fi1网络,并获取到AP1的接入点信息。示例性的,无线通信模块160将扫描结果上报给感知模块。感知模块获取到AP1的接入点信息。感知模块将AP1的标识信息与国家图书馆站的高精度围栏指示的Wi‑Fi网络进行匹配,并确定匹配成功。感知模块确定国家图书馆站的高精度围栏触发。也就是说,用户已到达国家图书馆站的闸机附近。
[0150] 在一种可能的实现方式中,感知模块可基于接收到的Wi‑Fi信号,确定Wi‑Fi网络的通信质量参数(概念可参照上文),当Wi‑Fi网络的通信质量参数大于阈值,即可确定高精度围栏触发。示例性的,Wi‑Fi网络的通信质量参数对应的阈值的获取方式可参照上文中的蜂窝网络的阈值的获取方式,此处不再重复说明。
[0151] S302b,感知模块向智慧出行服务指示高精度围栏触发。
[0152] 示例性的,感知模块确定高精度围栏触发后,向智慧出行服务指示高精度围栏触发。
[0153] 在一种可能的实现方式中,智慧出行服务确定高精度围栏触发后,可以进一步确定用户当前所处的地铁站(例如国家图书馆站)是否为本次地铁出行的起始站。可选地,如上文所述,智慧出行服务或感知模块可保存有刷码记录,刷码记录可选地包括但不限于:进/出站信息、站点信息等。示例性的,进/出站信息用于指示刷码记录是对应于出站或进站。站点信息用于指示刷码进站或出站的地铁站。智慧出行服务可获取最近一次的刷码记录。当最近一次刷码记录为出站,则可确定用户当前所处站为起始站,执行S303a。另一个示例中,当最近一次刷码记录为进站,则可确定当前站点非起始站,可以理解为,用户已经刷码进站,结束当前流程,并重新执行S201a。
[0154] 在另一种可能的实现方式中,城市内的一些站点可能只设置有及刻围栏,而为设置有高精度围栏。例如,一些站点附近有蜂窝网络,但是站点内没有蓝牙网络或者Wi‑Fi网络,相应的,对于这些站点,云端存储的站点信息中不包括这些站点的Wi‑Fi信息等用于订阅高精度围栏的信息。对于这类站点,感知模块订阅及刻围栏并确定站点的及刻围栏触发后,检测到未获取到该站点的高精度围栏所需要的信息,感知模块无需订阅高精度围栏,而执行S303a,即执行后续的室内外检测。
[0155] 在又一种可能的实现方式中,对于一些站点,例如站点与商场是连接的,并且站点是位于地下的,感知模块可以不对这类站点执行室内外检测,以进一步节约功耗,本申请不做限定。
[0156] S303a,智慧出行服务向感知模块指示注册室内围栏。
[0157] 示例性的,智慧出行服务向感知模块发送指示信息,用于指示感知模块注册室内围栏,以检测用户是否进入地铁站。举例说明,请参照图5的(1),地铁站内的Wi‑Fi可能通过地铁的门漏出,即,当手机位于图5的(1)所示的用户位置1时,手机可扫描到地铁站内的Wi‑Fi。相应的,感知模块在该情况下,确定高精度围栏触发。如果在高精度围栏触发(或者是确认当前站为起始站后)的情况下,手机弹出乘车卡片(具体概念将在下面实施例中说明),则对于路过地铁站而非乘车的用户,不适宜的卡片弹出将会对用户造成干扰。在本申请实施例中,手机可进一步结合室内外判断,以降低乘车卡片误弹出的问题概率。
[0158] 示例性的,感知模块响应于智慧出行服务的指示,订阅室内围栏,以检测用户是否进入地铁站。室内围栏所指示的条件包括但不限于以下至少之一:GPS搜星情况和光照情况。需要说明的是,本申请实施例中仅以GPS搜星情况和光照情况为例进行说明。在其他实施例中,感知模块还可以基于其他条件订阅室内围栏,例如可以是基于检测到的噪音等条件,本申请不做限定。
[0159] 示例性的,感知模块订阅室内围栏,并且室内围栏指示的条件包括GPS搜星情况的场景下,感知模块指示手机中的GPS模块,以搜索定位卫星。感知模块可周期性地(例如周期时长为5s,可根据实际需求设置,本申请不做限定)获取定位卫星搜索结果。可选地,搜索结果包括但不限于:搜索到的定位卫星数量和与每个定位卫星之间的通信质量参数(概念可参照上文)。
[0160] 在一种可能的实现方式中,若感知模块在本周期内获取到的定位卫星搜索结果中所指示的定位卫星数量小于卫星数量阈值,和/或,通信质量参数小于卫星通信质量参数阈值,感知模块可确定用户进入室内,即室内围栏触发。也就是说,一个示例中,当感知模块检测到卫星数量减小至阈值,可确定室内围栏触发。另一个示例中,当感知模块检测到卫星的通信质量参数降低至阈值,可确定室内围栏触发。又一个示例中,当感知模块检测到卫星的数量减小至阈值,并且,通信质量参数降低至阈值,可确定室内围栏触发。
[0161] 一个示例中,卫星数量阈值可选地为上一周期获取到的卫星数量的三分之一(也可以是二分之一,可根据实际需求设置,本申请不做限定)。通信质量参数阈值可选地为上一周期获取到的通信质量阈值的三分之一(也可以是二分之一,可根据实际需求设置,本申请不做限定)。也就是说,当本周期内搜索到的定位卫星数量小于上一个周期搜索到的定位卫星数量的三分之一,并且本周期内获取到的卫星通信质量参数小于上一个周期内获取到的卫星通信质量参数的三分之一,则确定用户进入室内,室内围栏触发。另一个示例中,卫星数量阈值和卫星通信质量参数阈值可以是设定的固定阈值,本申请不做限定。可选地,各地铁站所对应的卫星数量阈值和卫星通信质量参数阈值可以相同或不同,本申请不做限定。
[0162] 在另一种可能的实现方式中,如上文所述,感知模块在订阅高精度围栏后,可持续对高精度围栏进行检测。当感知模块检测到手机不在高精度围栏内,例如扫描不到地铁站内的Wi‑Fi网络或蓝牙网络,感知模块可确定用户未进入室内,并重新对高精度围栏进行检测。
[0163] 在又一种可能的实现方式中,感知模块可设置检测周期围栏,检测周期围栏可指示最大检测次数。举例说明,以检测周期围栏指示的最大检测次数为3次。相应的,感知模块在第3次检测周期到达时刻,获取GPS搜星情况,若GPS搜星情况仍然不满足室内围栏,感知模块结束当前流程,并返回S201a。
[0164] 示例性的,感知模块订阅室内围栏,并且室内围栏指示的条件包括光照情况的场景下,感知模块指示手机中的传感器(例如接近光传感器),以获取光照检测结果。光检测结果包括但不限于光照强度。
[0165] 在一种可能的实现方式中,若感知模块在本周期内获取到的光照强度满足设定条件,则可确定室内围栏触发。一个示例中,设定条件可以为本周期内的光照强度与上一周期获取到的光照强度之间的差值大于阈值(可根据实际需求设置,本申请不做限定)。可以理解为,若本周期内的光照强度与上一周期内的光照强度之间的波动较大,则可认为是用户进入地铁站内。举例说明,在白天,用户进站后,地铁站内的光照强度将小于室外。相应的,感知模块可检测到当前周期获取到的光照强度可能是上一个周期获取到的光照强度的二分之一。再例如,在夜间,用户进站后,地铁站内的光照强度大于室外。相应的,感知模块可检测到当前周期获取到的光照强度可能是上一个周期获取到的光照强度的二倍。另一个示例中,设定条件可以是设定的阈值,例如,在5点‑17点,光照强度阈值设置为光照强度阈值1,在17点~5点,光照强度阈值设置为光照强度阈值2。可选地,光照强度阈值1大于光照强度阈值2。感知模块可基于当前时间以及本周期内获取到的光照强度,以确定是否满足设定条件。例如,在早上6点,感知模块获取到的光照强度小于光照强度阈值1,则可确定用户进入地铁站,即室内围栏触发。再例如,在晚上8点,感知模块获取到的光照强度大于光照强度阈值2,则可确定用户进入地铁站,即室内围栏触发。其他未描述部分可参照GPS卫星情况条件的相关内容,此处不再赘述。
[0166] 下面结合图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,感知模块确定满足室内围栏的条件,即室内围栏触发。
[0167] S303b,感知模块向智慧出行服务指示室内围栏触发。
[0168] 示例性的,感知模块确定室内围栏触发后,向智慧出行服务发送指示信息,用于指示室内围栏触发。智慧出行服务响应于感知模块的指示,确定室内围栏触发,即用户进入地铁站,并到达闸机附近。智慧出行服务可弹出乘车卡片。
[0169] 可选地,感知模块向智慧出行服务发送的指示信息中可包括当前站点的站点名称。智慧出行服务可基于站点名称,生成乘车卡片,并在显示屏中显示乘车卡片。
[0170] 图6为示例性示出的乘车卡片示意图。请参照图6的(1),示例性的,智慧出行服务在显示界面601中显示乘车卡片602。示例性的,乘车卡片602可以位于显示界面601的上部显示区域。可选地,在其他实施例中,乘车卡片602也可以在其他位置,并且尺寸也可以根据实际需求设置,本申请不做限定。
[0171] 仍参照图6的(1),乘车卡片602中可包括提示信息“地铁乘车码”,用于指示该乘车卡片602为地铁出行卡片。可选地,提示信息也可以是将要跳转的应用的名称,例如“XX应用地铁乘车码”。本申请不做限定。
[0172] 请继续参照图6的(1),示例性的,如上文所述,智慧出行服务可从感知模块获取到当前站点的名称,相应的,乘车卡片602中还可以包括但不限于:当前站点信息(例如当前站点的名称,即国家图书馆站)等信息。
[0173] 可选地,乘车卡片602中还可以包括刷码选项6021。用户可点击刷码选项6021。如图6的(2)所示,手机接收到用户的点击操作,可显示支付应用的地铁乘车码界面603(也可以称为地铁乘车码服务界面、地铁出行服务界面、刷码界面等)。地铁乘车码界面603中可包括但不限于:打车出行服务选项、公交出行服务选项、地铁出行服务选项604、机票出行服务选项以及地铁出行乘车码显示框605。其中,地铁出行乘车码显示框中包括但不限于提示信息(即“北京轨道交通乘车码”)以及地铁出行乘车码图形6051(也可以称为地铁乘车二维码、地铁乘车码等)。可选地,本申请实施例中以乘车码为二维码为例,在其他实施例中,乘车码也可以是条形码等,本申请不做限定。需要说明的是,本实例中仅以接收到用户点击刷码选项6021的操作后,跳转到支付应用的地铁乘车码界面为例进行说明。在其他实施例中,手机接收到用户点击刷码选项6021的操作之后所跳转的应用可以是,用户上一次使用的刷码应用,例如可以是支付应用,也可以是其他具有刷码服务(即地铁乘车码服务)的应用。可选地,跳转的应用也可以是用户经常使用的应用。本申请不做限定。
[0174] 在一种可能的实现方式中,手机中可能未安装可用于刷码的应用,例如支付应用或聊天应用等具有地铁乘车码服务的应用。手机响应于接收到的用户点击刷码选项6021的操作,检测到手机中未安装有用于刷码的应用,智慧出行服务可从云端获取手机所在城市支持的用于刷码的应用。举例说明,智慧出行服务检测到手机中未安装有用于刷码的应用后,智慧出行服务可向云端发送应用推荐请求,可选地,应用推荐请求中包括手机当前所在城市信息,例如“北京”。云端响应于接收到的应用推荐请求,查找手机当前所在城市(例如北京)所支持的可用于刷码的应用。可选地,云端可将查找到的多个应用推荐给智慧出行服务。可选地,云端也可以将使用最多的用于刷码的应用推荐给智慧出行服务。以云端向智慧出行服务推荐支付应用为例进行说明。示例性的,智慧出行服务可在显示屏上显示提示框,提示框中可包括提示信息“下载支付应用后,可体验乘车码服务,是否前往应用市场下载”。提示框中可包括“取消”选项和“立即前往”选项。用户可点击“立即前往”选项,以在应用市场中下载支付应用。
[0175] 在另一种可能的实现方式中,手机可能已安装用于刷码的应用,例如支付应用,但是,用户尚未登录该支付应用。示例性的,智慧出行服务检测到用户点击刷码选项6021操作,并跳转到支付应用后,支付应用检测到用户未登录,支付应用可显示用户登录界面。在用户成功登录(即输入验证码或者输入密码)后,支付应用显示地铁乘车码界面。
[0176] 在又一个可能的实现方式中,手机可能已安装用于刷码的应用(仍以支付应用为例),且已经登录支付应用。但是,支付应用尚未开通地铁乘车码服务。也就是说,支付应用虽然包括地铁乘车码服务,但是由于其未开通地铁乘车码服务,其地铁乘车码服务的界面中暂不显示地铁乘车码。例性的,智慧出行服务检测到用户点击刷码选项6021操作,并跳转到支付应用的地铁乘车码界面后,支付应用检测到未开通地铁乘车码服务,支付应用可在地铁乘车码界面中显示“开通”选项,用户点击“开通”选项。支付应用响应于接收到的用户操作,开通地铁乘车码服务。地铁乘车码服务开通后,支付应用在地铁乘车码界面中显示地铁乘车码。
[0177] 需要说明的是,本申请实施例中仅以显示界面601为桌面为例进行说明,在其它实施例中,显示界面601也可以为其它界面。
[0178] 一个示例中,如图7a的(1)所示,手机处于锁屏状态。手机的锁屏界面701中可显示乘车卡片702。显示的位置可根据实际需求设置,本申请不做限定,其它描述可参照图6的相关描述,此处不再赘述。可选地,若手机处于熄屏状态,手机可切换到锁屏状态,并在锁屏界面上显示乘车卡片。
[0179] 另一个示例中,如图7a的(2)所示,用户可通过滑动手机显示屏,以显示负一屏界面703。手机的负一屏界面703中可显示乘车卡片704。其它描述可参照图6的相关描述,此处不再赘述。可选地,手机还可以在下拉菜单中显示乘车卡片。
[0180] 在又一个示例中,如图7b的(1)所示,手机当前显示的界面为聊天应用(也可能是其他应用,本申请不做限定)界面,如图7b的(2)所示,手机的聊天应用界面705中显示乘车卡片706。可选地,在该场景中,若用户在预设时长内(例如5s内)未操作乘车卡片706,或者,用户从乘车卡片706的底部向上滑动(也可以是其它手势,可根据实际需求设置,本申请不做限定)乘车卡片706,手机取消乘车卡片706在当前界面(例如聊天应用界面)上的显示。示例性的,当手机响应于接收到的用户操作退出当前应用界面,并显示桌面时,手机可在桌面上显示乘车卡片。
[0181] 在又一个示例中,如图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的尺寸以及位置仅为示意性举例,本申请不做限定。
[0182] 可选地,手机可以在上述界面(桌面、锁屏、负一屏等)中的至少一个界面显示乘车卡片。例如,手机可以在锁屏界面和桌面显示乘车卡片,即,手机在锁屏界面显示乘车卡片,手机响应于接收到的解锁操作显示桌面,桌面中包括乘车卡片。
[0183] 在一种可能的实现方式中,智慧出行服务显示乘车卡片602的同时,还可以通过以下至少一种方式进行提醒:振动提示、声音提示(可通过扬声器或耳机播放提示音)、屏幕闪烁提示、指示灯闪烁提示等。
[0184] 在另一种可能的实现方式中,手机的显示界面中显示的卡片可能包括多个,例如包括航班出行卡片、外卖提醒卡片等。智慧出行服务显示乘车卡片602,将其置顶显示。例如,手机当前显示的卡片包括航班出行卡片和外卖提醒卡片。手机可轮训的显示当前的两张卡片。假设当前显示的是航班出行卡片,示例性的,智慧出行服务生成乘车卡片602后,将乘车卡片602置顶显示,即当前显示的卡片为乘车卡片602,其它卡片叠加在乘车卡片602下方。
[0185] 在一种可能的实现方式中,智慧出行服务确定高精度围栏触发之后,即可弹出乘车卡片。另一个示例中,智慧出行服务在确定当前站为首站的情况下,即可弹出乘车卡片。
[0186] 在另一种可能的实现方式中,若智慧出行服务关闭,智慧出行服务可向感知模块发送指示信息,用于指示解除所有围栏。感知模块响应于接收到的操作,解除所有围栏。举例说明,请参照图7d的(1),智慧助手服务界面708(即智慧出行服务)中包括但不限于一个或多个控件,例如包括、智慧语音选项、智慧视觉选项、智慧识屏选项以及“YOYO建议”选项等。用户可点击“YOYO建议”选项。如图7d的(2)所示,手机接收到用户操作,显示YOYO建议界面709。YOYO建议界面709中可包括但不限于一个或多个选项,例如包括航班出行选项、日历选型、地铁乘车码选项以及更多选项7091。可选地,各选项中可包括对应的服务的状态。例如,地铁乘车码选项处于开启状态,则地铁乘车码选项显示“已开启”,以指示地铁乘车码选项处于开启状态。用户可点击地铁乘车码选项。如图7d的(3)所示,手机响应于接收到的用户操作,显示服务管理界面710。服务管理界面710中可包括地铁乘车码服务的相关选项,例如包括地铁乘车码选项(也可以称为开启/关闭选项)、卡片集选项、悬浮窗选项、通知选项、耳机播报选项等。其中,地铁乘车码选项用于开启或关闭地铁出行提醒服务。若该服务关闭,智慧出行服务解除所有地铁出行相关的围栏。卡片集选项用于开启或关闭乘车卡片提示。若该功能开启,手机可显示乘车卡片。若该功能关闭,则手机不显示乘车卡片。悬浮窗选项用于开启或关闭悬浮窗显示方式,如上文所述,地铁乘车服务可以以悬浮控件的方式在界面中显示,该功能开启,则允许以悬浮窗方式显示。若该功能关闭,则不允许以悬浮窗显示。通知选项用于开启或关闭通知栏中的服务信息。例如,若用户点击地铁乘车码选项,手机响应于接收到的用户操作,关闭地铁乘车码服务,即,关闭与地铁出行所有相关的服务,并解除地铁出行相关的围栏,即本申请实施例中的所涉及的所有围栏。
[0187] 在又一种可能的实现方式中,如上文所述,感知模块的围栏均是在智慧出行服务指示后订阅的,在其他实施例中,智慧出行服务可以向感知模块发送订阅围栏指示,感知模块可以基于智慧出行服务的指示,订阅上文所述的所有围栏,并按照各围栏之间的执行顺序,对围栏进行检测。例如,感知模块在检测到城市围栏触发后,可订阅刷码记录围栏。
[0188] 在本申请实施例中,用户进站,手机弹出乘车卡片后,手机检测用户是否刷码。本申请实施例中可提供一种刷码事件订阅方案,以检测用户是否成功刷码。一个示例中,手机可成功检测到用户刷码进站,并更新乘车卡片的状态,例如图13中所示,乘车卡片可从图13的(1)中的乘车态卡片更新为图13的(2)中的常规态卡片。具体示例将在图8的相关示例中说明。另一个示例中,若手机未能成功识别用户刷码进站,手机可基于地铁围栏检测用户是否刷码进站。具体示例将在图14中的相关示例进行说明。
[0189] 下面结合图8所示的刷码检测方法的流程示意图,对刷码事件订阅方案进行详细说明。请参照图8,具体包括:
[0190] S801,智慧出行服务向感知模块指示注册刷码围栏和应用围栏。
[0191] 示例性的,本申请实施例中以订阅刷码成功事件为例进行说明,也就是说,本申请中的技术方案能够准确检测到是否发生刷码成功事件。
[0192] 示例性的,智慧出行服务向感知模块发送指示信息,用于指示感知模块注册刷码围栏和应用围栏。其中,应用围栏用于订阅手机是否运行指定应用的指定服务,在本申请实施例中,指定服务即为地铁乘车码服务(也可以称为地铁出行服务、地铁刷码服务等)。刷码围栏用于订阅手机是否使用地铁乘车码服务,即是否刷码成功。
[0193] 示例性的,智慧出行服务可获取到手机中安装的各应用是否具备刷码(即地铁乘车码刷码)功能,也可以理解为是否包括刷码服务。
[0194] 例如,手机中安装支付应用后,智慧出行服务可从云端或者是支付应用的描述信息中获取到支付应用具备地铁乘车码服务。再例如,手机中安装聊天应用后,智慧出行服务可从云端或者聊天应用的描述信息中获取到聊天应用具备地铁乘车码服务。
[0195] 需要说明的是,对于聊天应用和支付应用,该类应用包括多个子服务,例如聊天应用中包括但不限于:聊天服务、小程序服务、理财服务等。
[0196] 智慧出行服务向感知模块发送的指示信息中可包括手机中已安装的包含地铁乘车码服务的应用的应用程序标识,以指示感知模块基于智慧出行服务指示的应用程序标识注册应用围栏。
[0197] 在一种可能的实现方式中,智慧出行所指示的应用程序可以为手机中已安装的所有包含地铁乘车码服务的应用。
[0198] 在另一种可能的实现方式中,智慧出行所指示的应用程序可以为手机中的已安装的部分包含地铁乘车码服务的应用。例如,手机中包括应用A、应用B和应用C,且应用A~应用C均包含地铁乘车码服务。其中,应用A开通地铁乘车码服务,应用B和应用C未开通地铁乘车码服务。相应的,智慧出行服务向感知模块发送的指示信息中包括应用A的应用程序标识,而不包括应用C的应用程序标识和应用B的应用程序标识。即,手机仅对应用A是否存在刷码事件进行订阅,而不订阅应用B和应用C。
[0199] S802,感知模块注册应用围栏和刷码围栏。
[0200] 示例性的,感知模块响应于智慧出行服务的指示,注册应用围栏和刷码围栏。
[0201] 示例性的,应用围栏用于感知模块对前台应用进行检测,以检测当前运行的前台应用是否为指定应用(即包含地铁乘车码服务的应用)。在确定为指定应用后,感知模块可进一步检测指定应用是否运行了地铁乘车码服务。
[0202] 感知模块在接收到智慧出行服务的指示后,可从云端获取到所有包含地铁乘车码服务的应用的应用程序标识,以及对应的地铁乘车码服务的Activity(活动)标识。
[0203] 可选地,应用程序的标识可以为应用程序的包名。例如,聊天应用的应用程序包名即为XX聊天。应用程序的包名是由应用程序开发者设置的,本申请不做限定。
[0204] 可选地,Activity标识用于指示应用中的子功能运行时所对应的标识。Activity标识可以理解为是应用的各服务(或功能)运行时的活动标识。举例说明,以聊天应用为例,手机响应于接收到的用户操作启动聊天应用,聊天应用启动并在前台显示,窗口管理器(也可能是活动管理器(Activity Manager))可获取到聊天应用的应用程序标识,例如“聊天应用”。聊天应用响应于接收到的用户操作,可启动地铁乘车码小程序。窗口管理器即可获取到聊天应用当前运行的服务(也可以称为活动,即地铁乘车码小程序)所对应的标识。
[0205] 示例性的,感知模块可基于智慧出行服务指示的应用程序标识,查询到与应用程序标识对应的地铁乘车码服务的Activity标识,并基于应用程序标识和地铁乘车码服务的Activity标识,注册应用围栏,以监测智慧出行服务订阅的应用中的地铁乘车码服务是否运行。
[0206] 在本申请实施例中,应用程序标识和地铁乘车码服务的Activitiy标识可以组成地铁乘车码服务的标识。也就是说,感知模块可基于地铁乘车码服务的标识,订阅应用围栏。
[0207] 在一种可能的实现方式中,感知模块在接收到智慧出行服务的指示后,可以从云端获取智慧出行服务指示的应用程序所对应的地铁乘车码服务的Activity标识。例如,本申请实施例中,手机安装有支付应用和聊天应用,支付应用和聊天应用均包括地铁乘车码服务。智慧出行服务可向感知模块发送支付应用的应用程序标识和聊天应用的应用程序标识。感知模块可从云端获取支付应用的地铁乘车码服务的标识以及聊天应用的地铁乘车码服务的标识。并基于支付应用的地铁乘车码服务的标识以及聊天应用的地铁乘车码服务的标识,注册应用围栏,即检测支付应用的地铁乘车码服务与聊天应用的地铁乘车码服务是否运行。
[0208] 示例性的,刷码围栏用于感知模块对当前运行的地铁乘车码服务进行检测,以检测是否发生刷码事件。
[0209] 示例性的,刷码围栏可包括多个子围栏,例如包括但不限于:定时器围栏、刷码界面围栏、翻腕围栏和刷码成功界面围栏等。
[0210] 示例性的,感知模块可从云端获取到各应用的地铁乘车码服务的刷码界面对应的特征事件和刷码成功界面对应的特征事件。示例性的,刷码界面可选地为地铁乘车码服务的包含地铁乘车码的界面,例如图6的(2),刷码成功界面可选地为用户使用地铁乘车码服务刷码成功后所显示的界面,例如图11的(2)所示。通常情况下,刷码界面和刷码成功界面中的内容是完全不相同的,也可以是部分不相同的。
[0211] 示例性的,当感知模块检测到地铁乘车码服务的界面中包括刷码界面对应的特征事件,可确定刷码界面围栏触发。
[0212] 示例性的,当感知模块检测到地铁乘车码服务的界面中包括刷码成功界面对应的特征事件,可确定刷码成功界面围栏触发,即确定发生刷码事件。
[0213] 一种可能的实现方式中,云端可以存储不同的应用的地铁乘车码服务对应的特征事件(其中包括刷码界面对应的特征事件和刷码成功界面对应的特征事件,下文中不再重复说明)。相应的,感知模块可以基于从云端获取到的所有特征事件,注册刷码围栏。可选地,刷码围栏中可以包括各应用所对应的特征事件。以聊天应用为例,刷码围栏中可以包括聊天应用的地铁乘车码服务对应的特征事件。
[0214] 另一种可能的实现方式中,感知模块可以基于智慧出行服务所指示的应用所对应的地铁乘车码服务的特征事件,注册刷码围栏。例如,感知模块从云端获取到智慧出行服务指定的应用所对应的地铁乘车码服务的特征事件。感知模块可基于指定应用所对应的地铁乘车码服务的特征事件,订阅刷码围栏。
[0215] 又一种可能的实现方式中,感知模块也基于触发应用围栏的应用所对应的地铁乘车码服务的特征事件,注册刷码围栏。例如,感知模块从云端获取有多个应用所对应的地铁乘车码服务的标识,以下简称地铁乘车码服务标识(即为应用程序标识和地铁乘车码服务的Activity标识),下文中不再重复说明。在下面的实施例中,感知模块检测到应用A的地铁乘车码服务的标识,并确认触发应用围栏。感知模块可基于应用A的地铁乘车码服务对应的特征事件,注册刷码围栏。
[0216] 可选地,特征事件可以包括但不限于地铁乘车码服务的窗口内容变化事件。例如,当用户刷码成功后,地铁乘车码服务的窗口从当前显示的乘车码界面(例如图6的(2)所显示的)切换到刷码成功界面(例如图11的(2)),感知模块可通过检测地铁乘车码服务的窗口内容变化,以检测地铁乘车码服务是否刷码成功。具体实施方式将在下面的实施例中详细说明。
[0217] 需要说明的是,不同的应用所对应的地铁乘车码服务的特征事件可以相同,也可以不同,本申请不做限定。示例性的,云端可维护各应用的地铁乘车码服务对应的特征事件。云端可以周期性地向各终端(包括手机、平板等设备)推送各应用的地铁乘车码服务对应的特征事件。示例性的,感知模块也可以周期性地向云端请求手机已安装的各应用的地铁乘车码服务对应的特征集。例如,感知模块可以向云端发送请求信息,请求信息中可以包括智慧出行服务在S801中所指示的应用的应用程序标识,以及应用的版本号。需要说明的是,应用的版本号不同,其所对应的特征事件也可能不同。云端响应于感知模块的请求,向感知模块所属手机反馈指定应用的指定版本所对应的地铁乘车码服务的特征事件。感知模块可基于获取到的特征事件,重新注册刷码围栏,也可以理解为更新刷码围栏所限定的特征事件。
[0218] 需要说明的是,本申请实施例中,S801和S802可以在手机弹出乘车卡片602后执行。在其他实施例中,S801和S802也可以在图2和图3的任意步骤之前或之后执行,也就是说,智慧出行服务可以预先指示感知模块注册相应的围栏,感知模块可以在基于已注册围栏进行检测。
[0219] S803,窗口管理器检测到应用活动。
[0220] S804,窗口管理器向感知模块发送应用标识和Activitiy标识。
[0221] 示例性的,如上文所述,窗口管理器可以获取到运行的应用对应的应用标识和该应用运行的服务所对应的Activity标识(例如可以是Activity类名)。窗口管理器获取应用标识和Activity标识的方式可以参照已有技术实施例中的相关描述,本申请不再赘述。
[0222] 可选地,窗口管理器可周期性地向感知模块发送本周期内运行的各应用的应用标识以及各服务的Activity标识。
[0223] 可选地,窗口管理器也可以在活动更新的情况下,向感知模块发送正在运行的应用的标识以及Activity标识。例如,当支付应用运行,窗口管理器获取到支付应用的应用程序标识和当前运行的服务(例如理财服务)的Activity标识,窗口管理器将支付应用的应用程序标识和理财服务的Activity标识发送给感知模块。当支付应用响应于接收到的用户操作,显示地铁乘车码界面。窗口管理器获取到支付应用的应用程序标识和地铁乘车码服务的Activity标识。窗口管理器将支付应用的地铁乘车码服务的标识(即支付应用的应用程序标识和地铁乘车码服务的Acitivity标识)发送给感知模块。
[0224] 举例说明,如图6所示,手机响应于接收到的刷码选项6021的操作,显示应用的刷码界面603。窗口管理器获取到当前运行的应用(即支付应用)的应用程序标识和运行的活动(例如地铁乘车码服务)的Activity标识。窗口管理器将当前运行的服务的服务标识,即地铁乘车码服务标识(即包括支付应用的应用程序和地铁乘车码服务的Activity标识)发送至感知模块,感知模块基于获取到的乘车码服务标识,确定应用围栏触发。具体流程可参照S805。
[0225] S805,感知模块检测到应用围栏触发。
[0226] 示例性的,如上文所述,感知模块基于应用的地铁乘车码服务的标识(即应用的应用程序标识和地铁乘车码服务的Activity)注册应用围栏。感知模块对窗口管理器发送的应用标识和Activity标识进行识别,以确定应用标识和Activity标识是否命中应用围栏中的应用标识和Activity标识。
[0227] 举例说明,如上文所述,支付应用的地铁乘车码服务启动后,感知模块可接收到窗口管理器发送的支付应用的地铁乘车码服务标识(即包括支付应用的应用程序和地铁乘车码服务的Activity标识)。感知模块将接收到的地铁乘车码服务标识与应用围栏中指示的地铁乘车码服务标识进行匹配。感知模块确定地铁乘车码服务标识匹配成功,即可确定当前运行的服务为地铁乘车码服务,并进一步确定应用围栏触发。
[0228] 需要说明的是,一些场景下,用户可能不通过乘车卡片进入地铁乘车码服务。例如,如图9的(1)所示,显示界面901中包括一个或多个控件,包括但不限于:电池电量控件、网络控件、应用图标控件等。其中,应用图标控件包括支付应用图标控件902和聊天应用图标控件等。用户可点击支付应用图标控件902。如图9的(2)所示,手机响应于接收到的操作,显示支付应用界面903,支付应用界面903中包括但不限于:出行选项、收付款选项、出行选项904以及卡包选项。示例性的,窗口管理器获取到当前运行的服务为支付应用的主服务,并获取到主服务的标识(即支付应用的应用程序标识和主服务的Activity标识)。窗口管理器将主服务的标识发送给感知模块。感知模块将主服务的标识与应用围栏中指示的地铁乘车码服务标识进行匹配。感知模块确定匹配失败,即,当前运行的服务非地铁乘车码服务。如图9的(2)所示,用户点击出行服务904。如图9的(3)所示,支付应用响应于接收到的用户操作,运行出行服务。可选地,出行服务中包括打车服务、公交服务、地铁乘车码服务、机票服务等。本申请实施例中,支付应用可自动打开用户经常使用的,或者是上一次使用的其中一个服务,例如,上一次使用的是地铁乘车码服务,则,支付应用响应于接收到的用户操作,显示地铁乘车码界面905。地铁乘车码界面的描述可参照图6的(2)的相关内容,此处不再赘述。窗口管理器获取当前运行的服务(即地铁乘车码服务)的标识,并将地铁乘车码服务的标识发送给感知模块。感知模块基于接收到的地铁乘车码服务,确定应用围栏触发,具体细节可参照上文,此处不再赘述。
[0229] S806,感知模块向无障碍服务请求应用的事件信息。
[0230] 示例性的,无障碍服务用于文本转语音、触觉反馈、手势导航、轨迹球和定向导航,可以为应用提供无障碍功能,使得应用更加无障碍。无障碍服务配置参数最重要的功能之一是允许开发者指定无障碍服务能处理的无障碍事件类型。成功指定该信息使无障碍服务间能互相合作,并允许开发者灵活地处理特定应用的特定事件类型。事件过滤可以包含以下规则:包名和事件类型。包名为指定想要无障碍服务处理的无障碍事件的应用程序包名。如果省略该参数,无障碍服务将被视为服务于任何应用程序的无障碍事件。事件类型用于指定开发者想要无障碍服务处理的无障碍事件的类型。例如,类型可能包括但不限于:点击事件、窗口内容变化、窗口状态变化、滚动事件操作等。
[0231] 本申请实施例中,感知模块向无障碍服务发送请求信息,请求信息中包括但不限于应用程序标识(例如应用程序包名)和事件类型,用于指示无障碍服务向感知模块反馈包含应用程序标识所指示的应用发生的指定事件。
[0232] 示例性的,如上文所述,无障碍服务监控的事件类型包括但不限于:点击事件、窗口内容变化、窗口状态变化、滚动事件等操作。在本申请实施例中,感知模块向无障碍服务发送的请求中的事件类型信息可以包括但不限于:窗口内容变化事件类型,以指示无障碍服务将指定应用的窗口内容变化事件反馈给感知模块。
[0233] 需要说明的是,本申请实施例中仅以窗口内容变化事件为例进行说明。在其他实施例中,特征事件也可以属于其他类型,例如可以属于窗口状态变化事件,相应的,感知模块可以向无障碍服务注册窗口状态变化类型。
[0234] S807,无障碍服务向感知模块发送应用的事件信息。
[0235] 示例性的,无障碍服务可基于感知模块的请求,对指定应用(即应用标识所指示的应用)进行监听,以识别是否发生指定事件。例如:窗口中显示内容的变化等。
[0236] 示例性的,无障碍服务在每次检测到应用的指定事件,无障碍服务向感知模块发送页面布局信息,页面布局信息中包括本次发生的指定事件及其对应的描述信息。
[0237] S808,感知模块检测到刷码围栏触发。
[0238] 图10为示例性示出的感知模块订阅刷码围栏的流程示意图,请参照图10,具体包括:
[0239] S1001,感知模块注册定时围栏。
[0240] 示例性的,感知模块注册定时围栏。可选地,定时围栏的定时时长为3分钟。在其他实施例中,定时时长也可以其它数值,具体可根据实际需求设置,本申请不做限定。示例性的,设置定时时长可用于限制感知模块与无障碍服务之间的交互时长,例如,在3分钟之内,感知模块未检测到刷码围栏触发,则流程结束,感知模块向无障碍服务发送停止反馈信息,停止反馈信息包括应用程序标识,用于指示无障碍服务停止反馈该应用的事件信息。
[0241] 可选地,定时围栏也可以是在S805之后设置的,本申请不做限定。
[0242] S1002,感知模块注册刷码界面围栏。
[0243] 示例性的,感知模块对无障碍服务发送的应用的事件信息中的信息进行识别,以检测当前显示的界面是否为刷码界面。
[0244] 需要说明的是,以聊天应用举例,聊天应用的多个小程序可能具有相同的Activity标识。例如,购票小程序与地铁乘车码小程序的Activity可能相同。感知模块可通过订阅刷码界面围栏,以检测是否打开地铁乘车码小程序的界面。在确定打开地铁乘车码小程序的界面后,再执行后续的刷码事件检测。
[0245] 示例性的,如上文所述,感知模块可预先从云端获取聊天应用的地铁乘车码小程序的显示界面(即刷码界面)所对应的特征事件,获取方式可参照上文,此处不再赘述。本申请实施例中,感知模块可基于获取到的地铁乘车码小程序的显示界面所对应的特征事件,注册刷码界面围栏。在其他实施例中,刷码界面围栏还包括手机中的其它地铁乘车码服务的显示界面所对应的特征事件,本申请不做限定。
[0246] 示例性的,感知模块对无障碍服务发送的应用的事件信息中的信息进行识别,以检测是否包括刷码围栏所指示的特征事件。
[0247] S1003,感知模块确定刷码界面围栏触发。
[0248] 一个示例中,若感知模块检测到应用的页面布局信息中包括刷码围栏中所指示的特征事件,感知模块可确定刷码围栏触发。
[0249] 另一个示例中,若感知模块检测到应用界面中不包括刷码围栏中所指示的特征事件,感知模块继续等待无障碍服务下次反馈的应用的页面布局信息,并重复执行上述识别步骤。示例性的,如上文所述,感知模块已启动定时围栏,即开始计时。在3分钟计时结束时,若感知模块仍然未检测到应用界面中包括特征事件,则流程结束,感知模块向无障碍服务发送停止反馈信息,停止反馈信息包括应用程序标识,用于指示无障碍服务停止反馈该应用的页面布局信息。
[0250] 举例说明,如图6的(2)所示,手机响应于接收到的操作,显示地铁乘车码界面603。无障碍服务可获取到当前界面(即地铁乘车码界面)中的内容元素。例如包括:“打车”、“公交”、“地铁”、“机票”、“北京轨道交通乘车码”、“二维码”等。无障碍服务可向感知模块发送支付应用的页面布局信息。页面布局信息中包括窗口内容变化事件,包括但不限于:文本内容“打车”、文本内容“公交”、文本内容“地铁”、文本内容“机票”、文本内容“北京轨道交通乘车码”、文本内容“二维码”等。
[0251] 感知模块对接收到的支付应用的页面布局信息进行识别,以确定是否包括刷码界面围栏所指示的特征事件,也可以理解为,检测节点中的文本内容是否包括指定的文本内容。例如,感知模块可以从云端获取到支付应用的地铁乘车服务的刷码界面的特征事件包括:文本内容为“北京轨道交通乘车码”、文本内容为“二维码”。感知模块所注册的刷码界面围栏中包括上述特征事件。示例性的,感知模块将无障碍服务反馈的支付应用的页面布局信息中的信息与刷码界面所指示的特征事件进行匹配。感知模块确定节点:文本内容为“北京轨道交通乘车码”、文本内容为“二维码”匹配成功,感知模块确定支付应用当前的窗口显示的是刷码界面,即确定刷码围栏触发。
[0252] S1004,感知模块注册翻腕围栏和刷码成功界面围栏。
[0253] 示例性的,本申请实施例中,感知模块确定当前运行的地铁乘车码服务的界面显示地铁乘车码(也可以称为地铁乘车二维码或地铁乘车码图形,例如图9中的地铁乘车码图形9071),即确定刷码界面围栏触发后,感知模块注册翻腕围栏和刷码成功界面围栏,以检测用户是否使用地铁乘车码成功刷码。需要说明的是,本申请实施例中以感知模块注册刷码成功界面围栏和翻腕围栏为例进行说明。在其他实施例中,感知模块也可以注册翻腕围栏与刷码成功界面围栏中的任一个,本申请不做限定。
[0254] 示例性的,翻腕围栏用于检测用户的翻腕动作。感知模块注册翻腕围栏后,可从手机的加速度传感器和陀螺仪获取数据,以检测用户是否持手机翻腕。
[0255] 示例性的,刷码成功界面围栏用于检测当前窗口(即地铁乘车码服务的窗口)是否显示刷码成功界面。示例性的,如上文所述,感知模块可获取到各应用对应的刷码成功界面对应的特征信息。感知模块确定刷码界面围栏触发后,可基于当前应用(例如支付应用)的刷码成功界面对应的特征信息,订阅刷码成功界面围栏,以确定当前应用的地铁乘车码服务是否刷码成功。
[0256] S1005a,感知模块检测到刷码成功界面。
[0257] S1005b,感知模块确定刷码成功界面围栏触发。
[0258] 示例性的,感知模块注册刷码成功界面围栏后,对无障碍服务反馈的应用的页面布局信息进行检测,以检测页面布局信息中是否包括当前运行的地铁乘车码服务所对应的特征事件。
[0259] 举例说明,如图11的(1)所示,手机当前显示的是支付应用的地铁乘车码界面,具体描述可参照图6的(2)的相关内容,此处不再赘述。一个示例中,请参照图11的(2),用户持手机,使用支付应用的地铁乘车码刷码靠近闸机的刷码区域,以刷码进站。闸机的刷码区域可扫描地铁乘车码,并将地铁乘车码发送至服务器。服务器响应于接收到的地铁乘车码,向支付应用发送刷码进站成功消息。支付应用响应于接收到的刷码进站成功消息,确定刷码成功,并显示刷码成功界面1101。可选地,支付应用的刷码成功界面包括但不限于:“欢迎进站”、“国家图书馆”(即当前进站站名)以及地铁线路信息显示框1102等。地铁线路信息显示框1102中包括但不限于:当前站的站名(“国家图书馆(地铁站)”)、线路名称(“4号线”)以及地铁线路始发站和终点站的相关信息。
[0260] 也就是说,在本申请实施例中,感知模块所订阅的刷码界面围栏所指示的特征信息,包括应用(例如支付应用,即刷码界面所属应用)的刷码进站界面对应的特征信息,以及,刷码出站界面对应的特征信息。需要说明的是,刷码出站的方案将在下面的实施例中说明。
[0261] 示例性的,以刷码成功界面1101为例。无障碍服务可检测到当前显示的窗口,即地铁乘车码界面的窗口内容变换,也就是说,发生了感知模块注册的指定事件。无障碍服务获取窗口内容变换事件对应的内容,向感知模块发送支付应用的页面布局信息。支付应用的页面布局信息中包括但不限于:文本内容“欢迎进站”、文本内容“国家图书馆”、文本内容“4号线”、文本内容“开往安河桥北”等。
[0262] 感知模块接收到无障碍服务发送的支付应用的页面布局信息。感知模块页面布局信息中的信息进行遍历,以识别是否包括支付应用的地铁乘车码服务的刷码成功界面对应的特征事件。
[0263] 举例说明,感知模块检测到:文本内容“欢迎进站”、文本内容“开往安河桥北”等窗口内容变换事件与支付应用的刷码成功界面围栏所指示的特征事件匹配成功,即确定当前显示的界面为刷码成功界面,感知模块确认刷码成功界面围栏触发。
[0264] 一种可能的实现方式中,感知模块可进一步基于窗口内容变换事件的内容,确定当前是进站或出站。举例说明,感知模块可从页面布局信息中获取到文本内容为“欢迎进站”,感知模块可确定当前行为为刷码进站。
[0265] S1006a,感知模块检测到翻腕。
[0266] S1006b,感知模块确定翻腕围栏触发。
[0267] 示例性的,如图12的(1)所示,用户持手机并点击地铁乘车码选项后,手机响应于接收到的用户操作显示地铁乘车码界面。如图12的(2)所示,用户在地铁乘车码界面加载地铁乘车码成功后,用户将手机的显示屏翻转,以使得手机显示屏中显示的地铁乘车码正对地铁闸机的刷码区域。如上文所述,感知模块在订阅翻腕围栏后,可获取手机的加速度传感器和陀螺仪检测到的数据,感知模块可基于获取到的数据,判断用户是否执行翻腕动作,即手机是否在显示地铁乘车码界面的同时被翻转。若感知模块确定手机翻转,即发生翻腕事件,感知模块确定翻腕围栏触发。
[0268] S1007,感知模块确定刷码成功,解除定时器围栏。
[0269] 一个示例中,感知模块确定刷码成功界面围栏触发,即可确定刷码围栏触发,也就是说,确定用户刷码成功。
[0270] 另一个示例中,感知模块确定翻腕围栏触发,即可确定刷码围栏触发,也就是说,确定用户刷码成功。可以理解为,感知模块检测到刷码成功界面和/或翻腕动作,即可确定刷码成功。
[0271] 示例性的,感知模块确定刷码成功后,可解除定时器围栏,即停止计时。
[0272] S1008,感知模块确定定时围栏触发,解除残留围栏。
[0273] 一个示例中,若感知模块在定时器围栏指示的定时时长(例如3分钟内),未检测到刷码界面,感知模块确定用户未刷码,感知模块可解除的刷码界面围栏。例如,用户在家中打开了聊天应用的团购小程序,其服务标识与地铁乘车码小程序服务标识相同,相应的,感知模块触发应用围栏,并执行后续的步骤。在3分钟之内,感知模块未检测到刷码界面,则流程结束。
[0274] 另一个示例中,若感知模块在定时器围栏指示的定时时长(例如3分钟内),在检测到刷码界面后,未检测到翻腕动作或者是刷码成功界面,感知模块确定用户未刷码,感知模块可解除翻腕围栏和刷码成功界面围栏。例如,用户打开地铁乘车码界面以查询余额,感知模块触发应用围栏和刷码界面围栏,在3分钟之内,感知模块未检测到刷码成功界面或翻腕动作,则流程结束。
[0275] 需要说明的是,解除围栏可以理解为感知模块不再订阅该围栏,即,不再检测是否满足该围栏所指示的条件。
[0276] S809,感知模块指示无障碍服务反馈应用的事件信息。
[0277] 示例性的,感知模块向无障碍服务发送停止反馈信息,停止反馈信息包括应用程序标识,用于指示无障碍服务停止反馈该应用的事件信息。无障碍服务响应于感知模块的指示,停止向感知模块反馈指定应用的事件信息。示例性的,感知模块解除定时围栏,即停止计时。
[0278] S810,感知模块向智慧出行服务指示刷码成功。
[0279] 示例性的,感知模块检测到刷码围栏触发后,可确定当前运行的应用的地铁乘车码服务发生刷码事件。感知模块向智慧出行服务发送指示信息,指示信息中可包括应用程序标识,以指示该应用存在刷码事件。
[0280] 在一种可能的实现方式中,智慧出行服务(也可以由感知模块执行,本申请不做限定)弹出地铁乘车卡片,即用户到达闸机(包括进站站点的闸机和出站站点的闸机)附近,智慧出行服务可获取当前站点的网络信息,例如获取蓝牙网络信息和/或Wi‑Fi网络信息。可选地,智慧出行服务当前获取到的网络信息可以与高精度围栏所指示的网络信息相同或不同。一个示例中,智慧出行服务在确定刷码成功后,可以将获取到的网络信息发送至云端。云端可周期性地对多个用户在同一个站点上报的网络信息进行统计,以更新站点的站点信息,例如,云端可以根据用户上报的Wi‑Fi信号的强度,更新Wi‑Fi网络信号对应的阈值(概念可参照上文,此处不再赘述)。再例如,地铁内的Wi‑Fi网络可能更新,例如Wi‑Fi名称和地址信息更新,云端可基于用户上报的信息,更新站内的Wi‑Fi网络的名称和地址信息等。云端可以将更新后的站点信息发送给各设备。另一个示例中,智慧出行服务未接收到感知模块发送的刷码成功指示,例如,智慧出行服务弹出乘车卡片后,用户通过滑动操作取消地铁乘车卡片的显示,或者是,用户在地铁站中等人,并未点击刷码选项。在该示例中,感知模块可以在确定用户未刷码,例如定时器围栏结束后,感知模块向智慧出行服务指示定时器围栏触发,智慧出行服务可确定用户未刷码。智慧出行服务可取消地铁乘车卡片的显示,并且,智慧出行服务删除在当前站点获取到的网络信息。
[0281] 在另一种可能的实现方式中,如上文所述,感知模块可以获取到用户当前是进站。感知模块向智慧出行服务发送的指示信息中可包括进站信息,以指示当前用户进站。
[0282] 一个示例中,如图13所示,智慧出行服务响应于感知模块的指示,确定刷码成功,且为刷码进站后,智慧出行服务将当前显示的地铁乘车卡片1302(为区分图13的(2)中的卡片,地铁乘车卡片1302称为乘车态卡片)更新为地铁乘车卡片1303,也可以称为常规态卡片。可选地,地铁乘车卡片1303中包括但不限于以下至少之一:“地铁乘车码”,“地铁乘车一码通行”以及“北京市地铁乘车码”等提示信息以及刷码选项1304。
[0283] 可选地,智慧出行服务显示常规态卡片时,可不做其它提醒,也就是说,在本申请实施例中,乘车态卡片的提醒强度高于常规态卡片的提醒强度。
[0284] 可选地,常规态卡片不设置为置顶提醒。例如,当显示界面1301中显示的卡片数量为多个时,手机可轮询显示多个卡片。可选地,当手机当前显示的卡片为其它类型的卡片,例如为外卖提醒卡片,用户可通过左右滑动卡片,以使得手机显示常规态卡片。
[0285] 在本申请的实施例中,在用户出站之前,手机显示的地铁乘车卡片均为常规太地铁乘车卡片。
[0286] 可选地,智慧出行服务可保存刷码信息。示例性的,刷码信息包括但不限于以下至少之一:刷码成功的次数、本次刷码所使用的应用(例如支付应用)、本次刷码所对应的站点、本次刷码是进站或出站等信息。
[0287] 可选地,智慧出行服务可以基于记录的刷码信息,进行地铁乘车码服务推送。例如,如上文中的图6所述,用户点击刷码选项6021后,手机跳转到地铁乘车码界面。一个示例中,智慧出行服务可检测用户上一次使用的地铁乘车码服务,例如可能是支付应用的地铁乘车码服务,则手机响应与接收到的用户点击刷码选项6021的操作,显示支付应用的地铁乘车码服务。另一个示例中,智慧出行服务可检测用户使用最多次数的地铁乘车码服务,例如可能是聊天应用的地铁乘车码服务,手机响应与接收到的用户点击刷码选项6021的操作,显示聊天应用的地铁乘车码服务。
[0288] 在本申请实施例中,若手机未能成功识别用户刷码进站,手机可基于地铁围栏检测用户是否刷码进站。举例说明,用户点击刷码选项后,手机响应于接收到的操作,显示刷码界面,感知模块订阅刷码界面围栏和翻腕围栏,用户打开刷码界面后,可能并没有执行翻腕动作,又或者是用户翻腕动作幅度较小,手机可能并没有检测到翻腕动作。在该种情况下,手机只能依赖于刷码界面围栏,即检测是否显示刷码成功界面。而由于手机与服务器之间的传输时延,在手机显示刷码成功界面之前,用户可能按压开机键,使得手机进入熄屏状态。相应的,感知模块无法检测到刷码成功界面,并在3分钟计时结束后,确定用户未刷码。而实际情况是,用户已经刷码进站,且手机并没有检测到。本申请实施例中提供一种地铁出行检测方法,可以基于相应的地铁围栏,以检测用户是否刷码进站。图14为示例性示出的地铁出行检测方法的流程示意图,请参照图14,具体包括:
[0289] S1401,感知模块向智慧出行服务指示离开及刻围栏。
[0290] 示例性的,感知模块订阅及刻围栏后,可一直对及刻围栏进行检测。可以理解为,感知模块可选地一直检测当前条件是否满足及刻围栏所指示的条件。当然,如上文所述,为了节约功耗,在用户离开当前城市,或者是用户的状态为骑车或乘坐汽车等状态,也可以不对及刻围栏进行检测。具体描述可参照上文,此处不再赘述。
[0291] 示例性的,感知模块可检测用户是否离开当前站点的及刻围栏。例如,感知模块基于手机的当前位置信息,检测到手机已经离开当前站点(例如国家图书馆站)的及刻围栏所指示的地理范围内,感知模块可确定手机(也可以理解为用户)离开当前站点的及刻围栏。
[0292] 感知模块确定手机离开当前站点的及刻围栏后,向智慧出行服务发送指示信息,用于指示手机离开当前站点的及刻围栏。可选地,该指示信息中可以包括及刻围栏标识。可选地,及刻围栏标识可以是及刻围栏对应的站点名称,也可以是其它标识,例如数字,本申请不做限定。
[0293] S1402,智慧出行服务检测是否打开过刷码界面。
[0294] 示例性的,智慧出行服务可检测手机打开过刷码界面。如上文所述,感知模块可基于刷码界面围栏,检测手机是否打开刷码界面。感知模块检测到刷码界面围栏触发后,可向智慧出行服务发送指示信息,以指示刷码界面围栏触发。在本步骤中,智慧出行服务即可基于感知模块发送的指示信息,确定在当前站点,刷码围栏触发过。可以理解为,在当前站点,用户打开过地铁乘车码界面。
[0295] 可选地,智慧出行服务也可以向感知模块发送检测请求,以请求感知模块反馈当前站点是否触发过刷码界面围栏,感知模块可检测围栏触发情况,以向智慧出行服务反馈指示信息。
[0296] 一个示例中,若智慧出行服务检测到用户为打开过刷码界面,则执行S1403。
[0297] 另一个示例中,若智慧出行服务检测到用户打开过刷码界面,则执行S1404。
[0298] S1403,智慧出行服务确定用户未乘车,乘车卡片消失。
[0299] 示例性的,智慧出行服务检测到用户未打开过刷码界面后,智慧出行服务确定用户未乘车,并取消显示乘车卡片。也就是说,手机弹出乘车态卡片(例如图6的(1)所示)后,用户并未刷码进站,并离开了当前站点。手机在检测到用户离开站点,且用户未刷码的情况下,取消乘车态卡片的显示。
[0300] 需要说明的是,本申请实施例中的图14是针对进站刷码的地铁出行检测流程,图17为针对出站刷码的地铁出行检测流程。智慧出行服务可基于当前站点是否为首站(即上文所述的起始站),以确定需要执行图14或图17的流程。例如,在本申请实施例中,感知模块在S302b中确定当前站为起始站后,可保存站点名称与起始站标记的对应关系。智慧出行服务在执行S1401、S1402或S1403中的任一步骤时,可基于起始站标记,确定当前离开的及刻围栏所对应的站点为起始站。当然,智慧出行服务也可以基于刷码记录,确定当前是否为首站,具体检测流程可参照S302b中的描述,此处不再赘述。示例性的,当智慧出行服务检测到离开的及刻围栏对应的站点为起始站,智慧出行服务执行图14中的流程。当智慧出行服务检测到离开的及刻围栏对应的站点为非起始站(包括途径站和末站(即到达站)),智慧出行服务执行图17中的流程。示例性的,在本实例中,智慧出行服务检测到离开的及刻围栏所对应的站点为起始站,则执行图14中的流程。
[0301] S1404,智慧出行服务检测是否刷码成功。
[0302] 示例性的,如上文所述,感知模块确定刷码成功后,可向智慧出行服务发送指示信息,以指示刷码成功。相应的,智慧出行服务可基于接收到的指示信息,确定是否已经刷码成功。
[0303] 一个示例中,若智慧出行服务确定用户已经离开及刻围栏,且未接收到感知模块发送的刷码成功的指示信息,智慧出行服务执行S1406。
[0304] 另一个示例中,若智慧出行服务检测到接收到过感知模块发送的刷码成功的指示信息,智慧出行服务执行S1405。
[0305] S1405,智慧出行服务确认进站,显示常规态卡片。
[0306] 示例性的,如上文所述,智慧出行服务在接收到感知模块发送的刷码成功指示信息后,可将乘车态卡片更新为常规态卡片。也就是说,在本步骤中,手机显示的已经是常规态卡片,智慧出行服务检测到当前显示的是常规态卡片,不做处理。
[0307] S1406,智慧出行服务检测运动状态是否为乘坐地铁状态。
[0308] 示例性的,智慧出行服务确定用户已经离开及刻围栏,且用户打开过刷码界面,以及未接收到感知模块发送的刷码成功的指示信息,智慧出行服务获取手机当前的运动状态。可选地,智慧出行服务未接收到感知模块发送的刷码成功的指示信息的情况可能是用户刷码,但是感知模块未能成功检测到;或者还可能是用户打开了刷码界面,但是用户并没有刷码进站。
[0309] 智慧出行服务可从手机的加速度传感器等模块获取检测数据,以基于检测数据判定手机当前是否处于乘坐地铁状态,具体判定方式可参照上文,此处不再赘述。
[0310] 一个示例中,若智慧出行服务检测到手机当前的运动状态为乘坐地铁状态,也就是说,用户正在行驶的地铁上,则执行S1407。
[0311] 另一个示例中,若智慧出行服务检测到手机当前的运动状态为非乘坐地铁状态,或者是,智慧出行服务未能获取到手机的运动状态,则执行S1408a。可选地,非乘坐地铁状态包括但不限于:骑行状态、步行状态、乘坐汽车状态等。
[0312] S1407,智慧出行服务确定进站,显示常规卡片。
[0313] 示例性的,智慧出行服务可基于检测到的运动状态,确定用户已经进站,具体处理过程可参照S810的相关描述,此处不再赘述。
[0314] S1408a,智慧出行服务向感知模块指示注册定时围栏。
[0315] 示例性的,智慧出行服务向感知模块发送指示信息,用于指示感知模块注册定时围栏。可选地,定时围栏可以为10分钟,也可以根据实际需求设置,本申请不做限定。
[0316] 感知模块响应于智慧出行服务的指示,订阅定时围栏,即感知模块开始计时。
[0317] S1408b,感知模块向智慧出行服务指示定时围栏触发。
[0318] 示例性的,感知模块计时(例如10分钟)结束后,确定定时围栏触发。感知模块向智慧出行服务发送指示信息,用于指示定时围栏触发。
[0319] S1409,智慧出行服务检测运动状态是否为乘坐地铁状态。
[0320] 示例性的,智慧出行服务在间隔10分钟,也就是说接收到感知模块在计时结束后发送的指示信息后,智慧出行服务可再次检测运动状态。举例说明,用户乘坐地铁,但是在S1406中,智慧出行服务检测运动状态时,地铁可能处于停靠状态。因此,智慧出行服务获取到的运动状态为非乘坐地铁状态。在间隔10分钟后,智慧出行服务再次获取运动状态,以避免误判问题。当然,上述场景仅为适应性举例,也可能存在其它可能导致误判的场景,本申请不再逐一举例说明。
[0321] 一个示例中,若智慧出行服务检测到运动状态为乘坐地铁状态,执行S1410。
[0322] 另一个示例中,若智慧出行服务检测到运动状态为非乘坐地铁状态,执行S1411。
[0323] 其它未描述部分可参照上文相关内容,此处不再赘述。
[0324] S1410,智慧出行服务确认进站,显示常规态卡片。
[0325] 具体描述可参照上文,此处不再赘述。
[0326] S1411,智慧出行服务检测最近进入的及刻围栏与S1401中离开的及刻围栏是否相同。
[0327] 示例性的,在本申请实施例中,感知模块订阅及刻围栏后,可对各站点的及刻围栏进行检测,具体检测方式可参照上文,此处不再赘述。示例性的,感知模块每次检测到进入一个站点的及刻围栏或离开一个站点的及刻围栏,感知模块可向智慧出行服务发送指示信息,以指示站点的及刻围栏触发(即进入某个站点的及刻围栏),或者是指示离开某个站点的及刻围栏。
[0328] 相应的,智慧出行服务可检测最近一次感知模块发送的指示信息所指示的进入的及刻围栏。在本申请实施例中,各站点的及刻围栏可以基于站点名称进行标识,例如,感知模块在检测到手机进入国家图书馆站的及刻围栏后,其向智慧出行服务发送的指示信息中可包括及刻围栏触发信息与国家图书馆站的站名,以指示当前进入的是国家图书馆站所对应的及刻围栏。智慧出行服务可基于接收到的指示信息,确定进入的及刻围栏所对应的站点。离开及刻围栏的示例与进入及刻围栏的示例类似,此处不再赘述。可选地,在其他实施例中,各站点的及刻围栏也可以用其它方式进行标识,例如可以用数字进行标识,本申请不做限定。示例性的,感知模块向智慧出行服务发送的指示及刻围栏触发或者离开及刻围栏的指示信息中可以包括进入或离开的及刻围栏的标识信息,即及刻围栏对应的数字。
[0329] 可选地,感知模块向智慧出行服务发送的用于指示及刻围栏触发或离开及刻围栏的指示信息中,也可以不包括站点信息。智慧出行服务在本步骤中,可以向感知模块发送及刻围栏检测请求,感知模块响应与智慧出行服务的请求,检测最近一次进入的及刻围栏对应的站点,并将站点名称(也可以是其它标识)发送给智慧出行服务。
[0330] 示例性的,智慧出行服务可基于S1401中接收到的感知模块发送的指示信息中携带的及刻围栏标识,与检测到的最近一次进入的及刻围栏的标识信息进行比较。若两个标识一致,则确定最近一次进入的及刻围栏与S1401中离开的及刻围栏是相同的,则执行S1413。
[0331] 另一个示例中,若两个标识不一致,则智慧出行服务可确定最近一次进入的及刻围栏与S1401中离开的及刻围栏是不相同的,执行S1412。
[0332] S1412,感知模块确认进站,显示常规态卡片。
[0333] 具体描述可参照上文,此处不再赘述。
[0334] S1413,乘车卡片消失。
[0335] 示例性的,智慧出行服务基于最近一次进入的及刻围栏,确定最近一次进入的及刻围栏即为S1401中离开的及刻围栏,也就是说,在S1401中离开及刻围栏后,用户在10分钟之内,并没有进入其它围栏,则取消乘客卡片的显示。在该场景下可以认为是用户没有乘车,即未刷码进站。
[0336] 在一种可能的实现方式中,智慧出行服务弹出乘车卡片后,可指示感知模块注册定时围栏,定时围栏可选地为30分钟,也可以根据实际需求进行设置,本申请不做限定。一个示例中,若智慧出行服务在定时围栏触发,即计时结束之前,接收到感知模块发送的刷码成功指示,或者是,感知模块基于图14的流程,确定用户刷码成功,或者是,接收到用户删除该乘车卡片的操作,感知模块解除该定时围栏。另一个示例中,若在定时围栏触发,即30分钟计时结束后,感知模块未检测到上述事件,也就是说,手机弹出乘车态卡片后,用户并没有刷码进站,或者,用户删除乘车态卡片。感知模块向智慧出行服务发送定时围栏触发,智慧出行服务可取消显示乘车卡片。
[0337] 下面结合具体应用场景,对图14中的流程进行详细说明。
[0338] 场景一
[0339] 图15a为示例性示出的应用场景,请参照图15a,示例性的,用户进入国家图书馆站后,手机弹出乘车态卡片,具体细节可参照上文,此处不再赘述。该用户在国家图书馆站内,未打开刷码界面。如上文所述,手机弹出乘车态卡片后,智慧出行服务可指示感知模块订阅定时围栏,时长为30分钟。感知模块检测到定时围栏触发,向智慧出行服务发送指示信息,用于指示定时围栏触发。智慧出行服务在30分钟内未检测到用户刷码,确定用户未刷码进站,智慧出行服务取消乘车态卡片的显示。
[0340] 仍参照图15a,在另一个示例中,用户在进入国家图书馆站后,手机弹出乘车态卡片。在10分钟后,用户离开国家图书馆站。例如,在用户位置2,感知模块可检测到用户离开国家图书馆站的及刻围栏,感知模块向智慧出行服务发送指示信息,指示信息中包括国家图书馆站的站点名称和离开及刻围栏指示,用于指示用户离开国家图书馆站的及刻围栏。智慧出行服务执行S1402,检测到用户未打开过刷码界面,则智慧出行服务可确定用户未乘车,取消显示的乘车态卡片。
[0341] 请继续参照图15a,在又一个示例中,用户在进入国家图书馆站后,手机弹出乘车态卡片。用户点击刷码选项,打开刷码界面。随后,用户关闭刷码界面,即,用户并未使用地铁乘车码刷码进站。示例性的,智慧出行服务和感知模块可基于上文所述的订阅刷码事件的方案执行,在3分钟之内,感知模块未检测到刷码成功界面或翻腕行为,感知模块结束刷码检测流程。手机显示的卡片中仍然包括乘车态卡片。接着,用户离开国家图书馆站的及刻围栏,知模块向智慧出行服务发送指示信息,指示信息中包括国家图书馆站的站点名称和离开及刻围栏指示,用于指示用户离开国家图书馆站的及刻围栏。智慧出行服务执行S1402,智慧出行服务检测到用户打开过刷码界面,执行S1404。智慧出行服务检测到刷码未成功,执行S1406。示例性的,智慧出行服务检测到用户处于非乘坐地铁状态,执行S1408a、S1408b以及S1409。示例性的,智慧出行服务检测到运动状态仍然为非乘坐地铁状态,执行S1411。智慧出行服务可检测到最近一次进站的及刻围栏为国家图书馆站的及刻围栏,即为S1401中离开的及刻围栏,则智慧出行服务确定用户未乘车,并且已经出站,智慧出行服务取消显示乘车态卡片。
[0342] 场景二
[0343] 图15b为示例性示出的应用场景,请参照图15b,示例性的,用户进入国家图书馆站后,手机弹出乘车态卡片。用户点击刷码选项,手机响应于接收到的用户操作,显示支付应用的地铁乘车码界面,用户持地铁乘车码界面刷码进站。
[0344] 一个示例中,手机基于上文所述的订阅刷码事件方案,检测到用户刷码成功,智慧出行服务将乘车态卡片切换为常规态卡片。当用户乘坐地铁离开国家图书馆站的及刻围栏,感知模块检测到用户离开国家图书馆站的及刻围栏,向智慧出行服务发送指示信息,以指示离开国家图书馆站的及刻围栏。智慧出行服务执行图14中的方案,即执行S1402、S1404和S1405,具体细节可参照上文,此处不再赘述。
[0345] 另一个示例中,智慧出行服务基于订阅刷码事件方案,未能成功识别用户刷码行为。当用户乘坐地铁离开国家图书馆站的及刻围栏,感知模块检测到用户离开国家图书馆站的及刻围栏,向智慧出行服务发送指示信息,以指示离开国家图书馆站的及刻围栏。智慧出行服务执行图14中的方案,即执行S1402、S1404、S1406和S1407,具体细节可参照上文,此处不再赘述。
[0346] 场景三
[0347] 图15c为示例性示出的应用场景,请参照图15c,示例性的,用户进入国家图书馆站后,手机弹出乘车态卡片。用户点击刷码选项,手机响应于接收到的用户操作,显示支付应用的地铁乘车码界面,用户持地铁乘车码界面刷码进站。
[0348] 示例性的,智慧出行服务基于订阅刷码事件方案,未能成功识别用户刷码行为。当用户乘坐地铁离开国家图书馆站的及刻围栏,感知模块检测到用户离开国家图书馆站的及刻围栏,向智慧出行服务发送指示信息,以指示离开国家图书馆站的及刻围栏。智慧出行服务执行图14中的方案,即执行S1402、S1404、S1406。
[0349] 示例性的,当用户乘坐地铁处于用户位置2时,智慧出行服务可能未能检测到手机的运动状态,则执行S1408a、S1408b以及S1409。一个示例中,如图15c所示,智慧出行服务再次检测运动状态时,用户乘坐地铁在用户位置3处,智慧出行服务检测到运动状态为乘坐地铁状态,执行S1410。另一个示例中,慧出行服务再次检测运动状态时,用户乘坐地铁在用户位置3处,智慧出行服务仍未获取到运动状态,执行S1411。示例性的,用户在用户位置3处进入魏公村站的及刻围栏,感知模块检测到魏公村站的及刻围栏触发,向智慧出行服务发送指示信息,指示信息中包括魏公村站站名和及刻围栏触发指示,用于指示进入魏公村站的及刻围栏。智慧出行服务在执行S1411时,检测到最近进入的及刻围栏为魏公村站对应的及刻围栏,其与S1401离开的及刻围栏不相同,也就是说,在10分钟之内,用户从一个地铁站的及刻围栏到达另一个地铁站的围栏,在本申请实施例中,可认为用户是乘坐地铁从一个地铁站到达另一个地铁站的。相应的,智慧出行服务可认为在国家图书馆站时,用户刷码进站。
[0350] 在本申请实施例中,对于非起始站,也就是说,智慧出行服务确定用户刷码进站之后,其可以订阅各站点的及刻围栏和高精度围栏。也就是说,示例性的,如上文所述,感知模块每进入或离开一个及刻围栏,以及,每进入一个高精度围栏或离开一个高精度围栏,感知模块可向智慧出行服务发送指示信息,以指示进入或离开及刻围栏,以及,进入或离开高精度围栏。可选地,在非起始站,及刻围栏所指示的条件可以理解为是必要检测项,即,感知模块可指示移动通信模块或其它模块对及刻围栏所指示的条件,例如蜂窝网络和/或地理位置等数据进行检测,以基于检测结果,判断是否进入或离开及刻围栏。可选地,在非起始站,高精度围栏所指示的条件可以理解为是必要检测项,也可以是非必要检测项。若高精度围栏是必要检测项,则感知模块指示对应的模块获取高精度围栏所指示的数据,例如,感知模块指示无线通信模块获取进行Wi‑Fi扫描,以基于检测结果,判定是否进入或离开高精度围栏。若高精度围栏是非必要检测项,则感知模块可以被动获取对应的模块检测到的数据。举例说明,无线通信模块(例如Wi‑Fi驱动)不做Wi‑Fi扫描时,感知模块无法获取到Wi‑Fi扫描结果,也就是说,如果用户进入站点的高精度围栏,感知模块也是无法感知到的。当手机中的应用(例如聊天应用)指示Wi‑Fi驱动进行扫描时,感知模块可以从Wi‑Fi驱动获取到扫描结果。这样手机无需实时或周期性的获取高精度围栏所指示的数据,可以有效降低系统功耗。示例性的,在非起始站,感知模块可不订阅室内围栏(概念可参照上文),即,不对室内围栏所指示的条件进行检测,从而进一步降低系统功耗。可以理解为,用户刷码进站后,手机对及刻围栏所指示的条件进行检测,选择性的对高精度围栏所指示的条件进行检测,且无需对室内围栏所指示的条件进行检测。
[0351] 示例性的,如图15d所示,当用户乘坐地铁进入终点站(即本次行程的终点,例如西单站)的及刻围栏时,例如在用户位置1时,感知模块可检测到用户进入站点的及刻围栏,感知模块向智慧出行服务发送指示信息,用于指示用户已经进入西单站的及刻围栏。示例性的,用户下车后,走向西单站的闸机,例如在用户位置2。如上文所述,感知模块已订阅运动围栏,感知模块检测到用户的运动状态为步行。感知模块可向智慧出行服务发送指示信息,用于指示运动状态围栏触发,即用户处于步行状态。一个示例中,智慧出行服务获取刷码记录,并确定最近的一次刷码记录为进站,或者,智慧出行服务可基于记录的起始站标识,确定当前站非起始站。在本申请实施例中,智慧出行服务在非起始站,并且检测到用户步行的情况下,智慧出行服务可将当前显示的常规态卡片切换为乘车态卡片。示例性的,如图16的(1)所示,智慧出行服务将显示界面1601中显示的常规态卡片1602切换为图16的(2)所示的乘车态卡片1603。可选地,手机显示乘车态卡片1603的同时,可以震动(也可以是播放提示音等提示方式)提示,并且,乘车态卡片1603置顶显示。具体显示方式可参照上文,此处不再赘述。
[0352] 另一个示例中,如图15d所示,智慧出行服务确定西单站的及刻围栏触发后,智慧出行服务可等待高精度围栏触发。感知模块可基于西单站的高精度围栏所指示的条件进行检测,以检测是否到达西单站的闸机附近,即进入西单站的高精度围栏。具体检测方式可参照上文,此处不再赘述。示例性的,以用户位置2为例,感知模块检测到高精度围栏触发,向智慧出行服务发送指示信息,以指示西单站的高精度围栏触发。智慧出行服务响应于接收到的指示信息,确定用户步行且到达地铁闸机附近,智慧出行服务可将当前显示的常规态卡片切换为乘车态卡片。可选地,在高精度围栏触发之前,乘车卡片显示的仍然是常规态卡片。也就是说,智慧出行服务在非起始站,并且检测到用户步行的情况下,智慧出行服务进一步检测用户是否到达闸机附近。如果用户到达闸机附近,则智慧出行服务可确定用户将要刷码出站,显示乘车态卡片。
[0353] 示例性的,手机显示乘车态卡片之后,智慧出行服务与感知模块可基于上文所述的刷码事件订阅方案,即执行图8和与图10中的相关流程,以检测用户是否刷码出站。
[0354] 示例性的,用户可点击乘车态卡片中的刷码选项。请参照图11的(2),手机响应于接收到的用户操作,显示地铁乘车码界面。请参照图11的(3),用户刷码成功后,手机显示刷码成功界面。可选地,支付应用的刷码成功界面包括但不限于:“已出站”、“西单站”(即当前出站站名)以及地铁周边信息显示框1104等。地铁周边信息显示框1104中包括但不限于:当前站的站名(“西单(地铁站)”)、地铁周边图以及“查看站点出口周边信息”选项、“申请电子发票”选项等。感知模块可基于无障碍服务反馈的支付应用的页面布局信息,确定刷码界面围栏触发。具体细节可参照上文,此处不再赘述。
[0355] 示例性的,感知模块可基于刷码界面围栏和/或翻腕围栏,确定刷码成功。感知模块向智慧出行服务发送指示信息,指示信息中包括但不限于:西单站(即当前到达站点的站点名称)、刷码成功指示以及刷码出站指示(该信息为可选地)。智慧出行服务可基于感知模块发送的指示信息,确定用户在西单站刷码出站。智慧出行服务可记录刷码信息,例如包括但不限于以下至少之一:刷码成功的次数、本次刷码所使用的应用(例如支付应用)、本次刷码所对应的站点、本次刷码是进站或出站等信息。可选地,智慧出行服务还可以将西单站附近的Wi‑Fi网络和/或蓝牙网络等信息上报给云端,具体处理方式可参照S1008,此处不再赘述。
[0356] 示例性的,智慧出行服务确定用户刷码出站后,智慧出行服务取消当前显示的乘车卡片。需要说明的是,当前显示的乘车卡片可能是乘车态卡片,也可能是常规态卡片。例如可能由于一些原因,造成用户出站之前,手机未能显示乘车态卡片。本申请不做限定。
[0357] 示例性的,与刷码进站场景类似,手机可能未能成功识别到用户刷码进站(描述可参照刷码进站场景,此处不再赘述)。手机可基于地铁围栏检测用户是否刷码进站。图17为示例性示出的地铁出行检测方法的流程示意图。需要说明的是,如上文所述,智慧出行服务在检测到当前站非首站,也就是说,智慧出行服务检测到用户已经刷码进站之后,才执行图17中的流程。请参照图17,具体包括:
[0358] S1701,感知模块向智慧出行服务指示离开及刻围栏。
[0359] 仍以图15d为例,当用户步行至用户位置3,感知模块检测到用户离开西单站的及刻围栏,感知模块向智慧出行服务指示用户离开西单站的及刻围栏。具体描述可参照S1401,此处不再赘述。
[0360] S1702,智慧出行服务检测是否打开过刷码界面。
[0361] 一个示例中,智慧出行服务检测到用户打开过刷码界面,执行S1704
[0362] 另一个示例中,智慧出行服务检测到用户未打开过刷码界面,执行S1703。
[0363] 具体细节可参照S1402,此处不再赘述。
[0364] S1703,智慧出行服务显示常规态卡片。
[0365] 示例性的,如上文所述,感知模块订阅及刻围栏后,一直对及刻围栏进行检测,即用户每离开或进入及刻围栏,都会向智慧出行服务上报。相应的,在用户乘车过程中,若用户离开途径站,即非起始站的及刻围栏,感知模块向智慧出行服务上报离开及刻围栏后,智慧出行服务在确定当前非起始站的情况下,智慧出行服务检测到用户未打开刷码界面,则执行图17中的S1703。
[0366] 举例说明,以图15d为例,用户乘坐地铁至用户位置4,感知模块检测到用户离开魏公村站的及刻围栏,感知模块向智慧出行服务上报用户离开魏公村站的及刻围栏。智慧出行服务检测到用户未打开过刷码界面,则智慧出行服务确定乘车卡片为常规态卡片。需要说明的是,乘车卡片当前显示的已经是常规态卡片,也就是说,在本步骤中,智慧出行服务确认显示常规态卡片,则继续将乘车卡片保持在常规态卡片的状态。
[0367] S1704,智慧出行服务检测是否刷码成功。
[0368] 示例性的,如上文所述,感知模块确定刷码成功后,可向智慧出行服务发送指示信息,以指示刷码成功。相应的,智慧出行服务可基于接收到的指示信息,确定是否已经刷码成功。
[0369] 一个示例中,若智慧出行服务确定用户已经离开及刻围栏,且未接收到感知模块发送的刷码成功的指示信息,智慧出行服务执行S1706。
[0370] 另一个示例中,若智慧出行服务检测到接收到过感知模块发送的刷码成功的指示信息,智慧出行服务执行S1705。
[0371] S1705,智慧出行服务确认出站,乘车卡片消失。
[0372] 举例说明,仍以图15d为例,用户在用户位置2时刷码出站,其中,智慧出行服务接收到感知模块发送的刷码出站指示信息。用户步行至用户位置3。智慧出行服务基于感知模块的指示,确定用户离开西单站的及刻围栏。智慧出行服务基于感知模块的指示,确定用户刷码成功,智慧出行服务确认用户出站,并且确认乘车卡片的状态为消失状态。可选地,在用户位置2,智慧出行服务响应于感知模块发送的刷码出站指示,已经取消了乘车态卡片的显示,在本步骤中,智慧出行服务检测到乘车卡片已经消失,则不做其他处理。
[0373] S1706,智慧出行服务检测运动状态是否为乘坐地铁状态。
[0374] 一个示例中,若智慧出行服务检测到手机当前的运动状态为乘坐地铁状态,也就是说,用户正在行驶的地铁上,则执行S1707。
[0375] 另一个示例中,若智慧出行服务检测到手机当前的运动状态为非乘坐地铁状态,或者是,智慧出行服务未能获取到手机的运动状态,则执行S1708a。可选地,非乘坐地铁状态包括但不限于:骑行状态、步行状态、乘坐汽车状态等。
[0376] 其他未描述部分可参照S1406,此处不再赘述。
[0377] S1707,智慧出行服务显示常规态卡片。
[0378] 仍以图15中的用户位置4为例,示例性的,用户在途径魏公村站时可能打开了刷码界面,但是用户只是查看余额,而未刷码。当用户乘地铁至用户位置4时,智慧出行服务执行S1701、S1702、S1704以及S1706。示例性的,智慧出行服务检测到运动状态为乘坐地铁状态,执行S1707。S1707的具体步骤可参照S1703,此处不再赘述。
[0379] S1708a,智慧出行服务向感知模块指示注册定时围栏。
[0380] S1708b,感知模块向智慧出行服务指示定时围栏触发。
[0381] S1708a~S1708b的具体细节可参照S1408a~S1408b,此处不再赘述。
[0382] S1709,智慧出行服务检测运动状态是否为乘坐地铁状态。
[0383] 一个示例中,若智慧出行服务检测到运动状态为乘坐地铁状态,执行S1410。
[0384] 另一个示例中,若智慧出行服务检测到运动状态为非乘坐地铁状态,执行S1411。
[0385] 其他未描述部分可参照S1409,此处不再赘述。
[0386] S1710,智慧出行服务显示常规态卡片。
[0387] 具体描述可参照上文,此处不再赘述。
[0388] S1711,智慧出行服务检测最近进入的及刻围栏与S1401中离开的及刻围栏是否相同。
[0389] 具体细节可参照S1411,此处不再赘述。
[0390] S1712,智慧出行服务显示常规态卡片。
[0391] 举例说明,仍参照图15d,当用户乘坐地铁至魏公村站时,用户打开地铁乘车码,但是其并未刷码。用户乘坐地铁离开灵境胡同站的及刻围栏后,智慧出行服务响应于感知模块的指示,确定用户打开过刷码界面,并且刷码未成功。智慧出行服务执行S1706、S1708a、S1708b、S1709以及S1711。在执行S1711时,用户可能已经到达西单站,即智慧出行服务可基于感知模块的指示,确定用户最近一次进入的及刻围栏为西单站。相应的,智慧出行服务确定乘车卡片的状态应为常规态卡片。
[0392] S1713,智慧出行服务确认出站,乘车卡片消失。
[0393] 示例性的,在本申请实施例中,由于当前非起始站,因此,智慧出行服务在确定用户最近进入的及刻围栏即S1701中离开的及刻围栏,也就是说,用户离开及刻围栏之后,并没有再进入其它及刻围栏的情况下,智慧出行服务可确认用户出站,并取消显示当前的乘车卡片。
[0394] 举例说明,仍以图15d为例,示例性的,用户在用户位置2刷码出站,并步行至用户位置3。感知模块并未检测到刷码成功。智慧出行服务执行S1702、S1704、S1706、S1708a、S1708b、S1709、S1711。在执行S1711时,智慧出行服务基于感知模块的指示,确定最近一次进入的及刻围栏为西单站的及刻围栏,其与S1701中离开的及刻围栏是相同的,因此,智慧出行服务可确定用户已经出站,并且取消显示乘车卡片。
[0395] 本申请在地铁出行检测方案的基础上,还提供一种乘车卡片显示方法。在该方法中,手机基于地铁围栏确定需要显示乘车态卡片时,可进一步基于预设条件,检测是否可以显示乘车态卡片,从而避免在用户不需要的情况下显示卡片,对用户造成打扰,影响用户使用体验的问题,以实现对地铁乘车卡片的抑制。
[0396] 举例说明,如上文所述,用户乘地铁到达本次行程的终点站,用户步行至站内闸机附近,智慧出行服务响应于感知模块的指示,确定运动围栏触发,并显示乘车态卡片。在其他实施例中,也可以运动围栏以及高精度围栏触发后,显示乘车态卡片。具体细节可参照上文,此处不再赘述。但是,在一些实施例中,例如用户需要换乘地铁,在用户换乘地铁的过程中,用户同样需要步行至另一条地铁。在用户步行过程中,感知模块可检测到运动围栏触发,并向智慧出行服务指示运动围栏触发。相应的,智慧出行服务响应于感知模块的指示,认为用户可能到达终点站,智慧出行服务将常规态卡片切换为乘车态卡片,并振动提示(也可以是其它提示,此处不再赘述)。再例如,用户需要换乘地铁,感知模块可检测到运动围栏触发,并向智慧出行服务指示运动围栏触发。并且,用户换乘过程中,可能路过换乘站的闸机附近,即进入高精度围栏。感知模块检测到高精度围栏触发,向智慧出行服务发送指示信息,智慧出行服务响应于感知模块的指示,同样认为用户可能到达终点站,将常规态卡片切换为乘车态卡片,并振动提示。对于该类场景,如果用户每天在同一个换乘站换乘都会弹出乘车态卡片,将会对用户造成过多打扰。
[0397] 本申请实施例中,智慧出行服务可设置乘车卡片显示列表,列表中可包括但不限于:时间段、站名、弹卡参数,不弹卡参数等表项。如表1所示:
[0398] 表1
[0399] 时间段 站名 弹卡参数 不弹卡参数       
       
       
[0400] 示例性的,时间段可以是预先设置的。例如,6点‑7点、7点‑8点、8点‑9点等,可根据实际需求设置,本申请不做限定。
[0401] 示例性的,单一表项中的弹卡参数与不弹卡参数之和为1。一个示例中,若弹卡参数大于不弹卡参数,则智慧出行服务显示乘车卡片。另一个示例中,若弹卡参数小于不弹卡参数,则智慧出行服务不显示乘车卡片。示例性的,智慧出行服务可基于每次弹出乘车卡片后,用户是否使用乘车卡片的情况下,更新乘车卡片显示列表中的表项。智慧出行服务可基于乘车卡片显示列表中的弹卡参数与不弹卡参数,确定在当前站是否需要弹出乘车卡片。下面以具体示例对乘车卡片显示方法进行详细说明。
[0402] 手机首次开机或者是初始化之后,智慧出行服务设置表1,表1中包括上文所述的4个表项。需要说明的是,本申请实施例中以列表方式进行说明,在其他实施例中,智慧出行服务也可以以其它方式记录上述信息,本申请不做限定。
[0403] 一个示例中,以图15b中的场景为例,用户进入国家图书馆站,例如位于用户位置1。智慧出行服务响应于感知模块的指示,确定室内围栏触发,即需要弹出乘车态卡片。具体细节可参照上文,此处不再赘述。示例性的,智慧出行服务基于感知模块发送的用于指示室内围栏触发的指示信息,可获取到当前触发室内围栏(也可以是及刻围栏或高精度围栏,下文不再重复说明)的站点的站点名称,例如国家图书馆站。智慧出行服务获取当前时间,例如为7点。智慧出行服务基于当前时间与站点名称,检测乘车卡片显示列表,并确定乘车卡片显示列表中不包括与当前时间对应的时间段以及站点名称对应的表项。在本申请实施例中,如果列表中不包括对应的表项,则智慧出行服务默认为允许显示乘车卡片。相应的,智慧出行服务显示乘车态卡片。
[0404] 智慧出行服务可基于上文所述的刷码事件订阅方案、地铁围栏等方案,确定用户在国家图书馆站是否刷码成功,具体细节可参照上文,此处不再赘述。
[0405] 示例性的,以图15b中的用户刷码进站为例进行说明,智慧出行服务可确定用户刷码进站。智慧出行服务更新乘车卡片显示列表,更新后的列表如表2所示:
[0406] 表2
[0407]时间段 站名 弹卡参数 不弹卡参数
7‑9 国家图书馆 1 0
       
       
[0408] 请参照表2,示例性的,智慧出行服务基于当前时间(例如7点),与预先设置的时间段进行匹配,并确定对应的时间段为7‑9。并且,智慧出行服务基于感知模块的指示,确定当前站点为国家图书馆站。并且,由于此次是针对该站点在该时间段的初始表项,并且,用户成功刷码进站,智慧出行服务将弹卡参数设置为1,不弹卡参数设置为0。
[0409] 请参照图18,示例性的,用户乘坐地铁4号线从国家图书馆站进入西直门站的及刻围栏,例如到达用户位置1。感知模块可基于西直门站的及刻围栏,确定西直门站的及刻围栏触发。感知模块向智慧出行服务发送指示信息,指示信息中包括西直门站站名(即“西直门站”)以及及刻围栏触发指示,用于指示手机进入西直门站的及刻围栏。地铁到站后,用户下车换乘2号线。例如,用户从用户位置2下车,并步行至用户位置3。
[0410] 示例性的,如上文所述,感知模块已订阅运动围栏。感知模块从加速度传感器等模块获取到监测参数,并基于检测参数确定用户当前处于步行状态(具体检测过程可参照上文,此处不再赘述)。感知模块可确定运动围栏触发。
[0411] 示例性的,感知模块向智慧出行服务发送指示信息,用于指示运动围栏触发,即用户处于步行状态。智慧出行服务确定用户处于步行状态,进一步确定需要显示乘车态卡片。需要说明的是,本实施例中以及下面实施例中均以基于运动状态围栏触发,确定显示乘车卡片为例进行说明,在其他实施例中,也可以是基于运动状态围栏和高精度围栏的触发状态,确定是否需要显示乘车态卡片,下文中不再重复说明。
[0412] 智慧出行服务获取当前时间,例如为7点20。智慧出行服务基于当前时间(例如7点20)与站点名称(西直门站),与乘车显示卡片列表(例如表2)中的表项进行匹配,智慧出行服务确定匹配失败,即列表中不包括当前时间与站点对应的表项。相应的,智慧出行服务确定允许显示乘车态卡片。智慧出行服务将当前显示的常规态卡片切换到乘车态卡片,并振动提示。
[0413] 如上文所述,用户在西直门站换乘地铁2号线,相应的,智慧出行服务显示乘车态卡片后,用户不会使用地铁乘车码刷码。仍参照图18,示例性的,当用户乘坐2号线地铁到达用户位置4处,智慧出行服务可基于图17中所示的方案,确定用户未刷码。智慧出行服务将乘车态卡片切换为常规态卡片。智慧出行服务更新乘车卡片显示列表,更新后的列表如表3所示:
[0414] 表3
[0415] 时间段 站名 弹卡参数 不弹卡参数7‑9 国家图书馆 1 0
7‑9 西直门 0.8 0.2
       
[0416] 请参照表3,示例性的,智慧出行服务基于显示乘车态卡片的时间(例如7点20),与预先设置的时间段进行匹配,并确定对应的时间段为7‑9。并且,智慧出行服务基于感知模块的指示,确定当前站点为西直门站。并且,由于此次是针对该站点在该时间段的初始表项,弹卡参数的初始值为1,不弹卡参数的初始值为0。在本场景中,由于用户并没有刷码,智慧出行服务确定本次显示乘车态卡片后,用户没有刷码,则智慧出行服务将弹卡参数的初始值(1)减0.2,结果为0.8,不弹卡参数的初始值(0)加0.2,结果为0.2。需要说明的是,本实施例中所述的“用户未刷码”可能是用户在换乘过程中打开了地铁乘车码界面,但是未刷;还可能是用户未打开过地铁乘车码界面,具体实现方式与场景可参照图17中的相关描述,此处不再赘述,下文不再重复说明。
[0417] 需要说明的是,在本申请实施例中,参数的原始数值(即上文所述初始值)以及增减幅度值仅为示意性举例,可根据实际情况设置。例如,若原始的最大值为2,增减幅度值为0.2,则需要6次未刷卡,才能执行后面实施例中的弹卡抑制。再例如,若原始的最大值为1,增减幅度为0.1,则可能需要6次才能执行后面实施例中的弹卡抑制,本申请不做限定。
[0418] 仍参照图18,用户再次从国家图书馆站,乘坐地铁4号线到达西直门站,并在用户位置2处下车步行至用户位置3处,以换乘地铁2号线。智慧出行服务响应于感知模块的指示,确定运动状态围栏触发,进一步确定需要显示乘车态卡片。
[0419] 智慧出行服务获取当前时间,例如为7点30。智慧出行服务基于当前时间(例如7点20)与站点名称(西直门站),与乘车显示卡片列表(例如表3)中的表项进行匹配,并确定匹配成功,匹配成功的表项为:
[0420]时间段 站名 弹卡参数 不弹卡参数
7‑9 西直门 0.8 0.2
[0421] 智慧出行服务基于匹配成功的表项中,检测到弹卡参数(0.8)大于不弹卡参数(0.2),确定允许显示乘车态卡片。智慧出行服务将常规态卡片切换为乘车态卡片。用户乘坐地铁2号线至用户位置4,智慧出行服务检测到用户未刷码,智慧出行服务将乘车态卡片切换为常规态卡片。并且,更新乘车卡片显示列表。更新后的列表如表4所示:
[0422] 表4
[0423]时间段 站名 弹卡参数 不弹卡参数
7‑9 国家图书馆 1 0
7‑9 西直门 0.6 0.4
       
[0424] 请参照表4,示例性的,智慧出行服务在确定在该表项对应的时刻(即7点‑9点)和站点时,用户未刷码,则智慧出行服务将该表项中的弹卡参数减0.2,结果为0.6。以及,不弹卡参数加0.2,结果为0.4。
[0425] 仍参照图18,用户再次从国家图书馆站,乘坐地铁4号线到达西直门站,并在用户位置2处下车步行至用户位置3处,以换乘地铁2号线。智慧出行服务响应于感知模块的指示,确定运动状态围栏触发,进一步确定需要显示乘车态卡片。
[0426] 智慧出行服务获取当前时间,例如为7点30。智慧出行服务基于当前时间(例如7点20)与站点名称(西直门站),与乘车显示卡片列表(例如表4)中的表项进行匹配,并确定匹配成功,匹配成功的表项为:
[0427]时间段 站名 弹卡参数 不弹卡参数
7‑9 西直门 0.6 0.4
[0428] 智慧出行服务基于匹配成功的表项中,检测到弹卡参数(0.6)大于不弹卡参数(0.4),确定允许显示乘车态卡片。智慧出行服务将常规态卡片切换为乘车态卡片。用户乘坐地铁2号线至用户位置4,智慧出行服务检测到用户未刷码,智慧出行服务将乘车态卡片切换为常规态卡片。并且,更新乘车卡片显示列表。更新后的列表如表5所示:
[0429] 表5
[0430] 时间段 站名 弹卡参数 不弹卡参数7‑9 国家图书馆 1 0
7‑9 西直门 0.4 0.6
       
[0431] 请参照表4,示例性的,智慧出行服务在确定在该表项对应的时刻(即7点‑9点)和站点时,用户未刷码,则智慧出行服务将该表项中的弹卡参数减0.2,结果为0.4。以及,不弹卡参数加0.2,结果为0.6。
[0432] 仍参照图18,用户再次从国家图书馆站,乘坐地铁4号线到达西直门站,并在用户位置2处下车步行至用户位置3处,以换乘地铁2号线。智慧出行服务响应于感知模块的指示,确定运动状态围栏触发,进一步确定需要显示乘车态卡片。
[0433] 智慧出行服务获取当前时间,例如为7点30。智慧出行服务基于当前时间(例如7点20)与站点名称(西直门站),与乘车显示卡片列表(例如表5)中的表项进行匹配,并确定匹配成功,匹配成功的表项为:
[0434]时间段 站名 弹卡参数 不弹卡参数
7‑9 西直门 0.4 0.6
[0435] 智慧出行服务基于匹配成功的表项中,检测到弹卡参数(0.4)小于不弹卡参数(0.6),确定不允许显示乘车态卡片。智慧出行服务不改变乘车卡片的状态,即手机显示的乘车卡片仍然是常规态卡片,从而实现乘车态卡片显示的抑制效果。也就是说,在本申请实施例中,用户在同一个时间段,同一个站点内三次未刷码,则用户在该时间段内,到达站点内时,智慧出行服务不显示乘车态卡片。
[0436] 示例性的,智慧出行服务确定在7点30点,用户在国家图书馆站未刷码,智慧出行服务更新乘车卡片显示列表,更新后的列表如表6所示:
[0437] 表6
[0438] 时间段 站名 弹卡参数 不弹卡参数7‑9 国家图书馆 1 0
7‑9 西直门 0.2 0.8
       
[0439] 请参照表6,示例性的,智慧出行服务在确定在该表项对应的时刻(即7点‑9点)和站点时,用户未刷码,则智慧出行服务将该表项中的弹卡参数减0.2,结果为0.2。以及,不弹卡参数加0.2,结果为0.8。
[0440] 也就是说,在当前站,智慧出行服务未显示乘车态卡片,但是,其仍然会基于用户是否刷码更新列表。
[0441] 示例性的,若用户再次在7点30,在西直门站换乘地铁2号线,并且未刷码。智慧出行服务更新列表,更新后的列表为:
[0442] 表7
[0443]时间段 站名 弹卡参数 不弹卡参数
7‑9 国家图书馆 1 0
7‑9 西直门 0 1
       
[0444] 其中,弹卡参数已达到最小值,不弹卡参数达到最大值。相应的,若用户再次在7点‑9点在西直门站换乘,并且未刷码。智慧出行服务不再改变弹卡参数与不弹卡参数。
[0445] 在本申请实施例中,如上文所述,若用户未刷码,则智慧出行服务将对应的表项中的弹卡参数减0.2,不弹卡参数加0.2。在本申请实施例中,若用户成功刷码,则智慧出行服务将对应的
[0446] 表项中的弹卡参数加0.2,不弹卡参数减0.2,直至弹卡参数与不弹卡参数到达对应的最大值或最小值。
[0447] 举例说明,以表4为例,请参照图18,用户在7点30,在西直门站换乘地铁2号线。智慧出行服务基于表4,检测到弹卡参数(0.6)大于不弹卡参数(0.4),确定允许显示乘车态卡片。智慧出行服务将常规态卡片切换为乘车态卡片,用户刷码出站。智慧出行服务检测到用户刷码出站(具体检测方式可参照图17或图8中的方案,此处不再赘述)。
[0448] 智慧出行服务更新乘车卡片显示列表4,更新后的列表如表8所示:
[0449] 表8
[0450] 时间段 站名 弹卡参数 不弹卡参数7‑9 国家图书馆 1 0
7‑9 西直门 0.8 0.2
       
[0451] 请参照表8,示例性的,智慧出行服务在确定在该表项对应的时刻(即7点‑9点)和站点时,用户刷码出站,则智慧出行服务将该表项中的弹卡参数加0.2,结果为0.8。以及,不弹卡参数减0.2,结果为0.2。
[0452] 再举例说明,以表7为例,请参照图8,用户在7点智慧出行服务基于表7,检测到弹卡参数(0)小于不弹卡参数(1),确定不允许显示乘车态卡片。智慧出行服务显示的乘车卡片仍未常规态卡片。
[0453] 用户可通过支付应用打开地铁乘车码界面,并刷码出站。智慧出行服务可检测到用户刷码出站。智慧出行服务确定用户刷码出站后,取消显示的常规态卡片。并且,智慧出行服务更新乘车卡片显示列表7,更新后的列表如表9所示:
[0454] 表9
[0455] 时间段 站名 弹卡参数 不弹卡参数7‑9 国家图书馆 1 0
7‑9 西直门 0.2 0.8
       
[0456] 请参照表9,示例性的,智慧出行服务在确定在该表项对应的时刻(即7点‑9点)和站点时,用户刷码出站,则智慧出行服务将该表项中的弹卡参数加0.2,结果为0.2。以及,不弹卡参数减0.2,结果为0.8。
[0457] 基于与用户未刷码进站相同的步骤,用户每次在西直门站刷码出站,智慧出行服务对应更新列表,例如,在表9的基础上,用户连续两次在7点20,从西直门站刷码出站则更新后的列表如表10所示:
[0458] 表10
[0459]时间段 站名 弹卡参数 不弹卡参数
7‑9 国家图书馆 1 0
7‑9 西直门 0.6 0.4
       
[0460] 更新列表的具体细节可参照上文,此处不再赘述。示例性的,若用户再次在7点20在西直门站换乘(也可能是出站),智慧出行服务可基于乘车卡片显示列表10,确定允许显示乘车卡片。智慧出行服务将常规态卡片切换为乘车态卡片。
[0461] 需要说明的是,上述实施例中仅以同一个时间段的同一个站点对应的表项进行说明,在其他实施例中,乘车卡片显示列表中包括多个表项,同一个时间段可以对应多个表项,同一个站点,也可以对应多个时间段,如表11所示:
[0462] 表11
[0463]时间段 站名 弹卡参数 不弹卡参数
7‑9 国家图书馆 0.6 0.4
7‑9 魏公村 0.6 0.4
9‑10 国家图书馆 1 0
9‑10 海淀黄庄 0 1
10‑11 西单 1 0
11‑12 西单 0.2 0.8
       
[0464] 请参照表11,举例说明,用户在9点15到达海淀黄庄站内(可以是进站或换乘),智慧出行服务基于时间(即9点15)以及站名(海淀黄庄)对表11中的表项进行匹配,并确定匹配成功,匹配成功的表项为:
[0465] 时间段 站名 弹卡参数 不弹卡参数9‑10 海淀黄庄 0 1
[0466] 示例性的,智慧出行服务基于匹配成功的表项,确定弹卡参数小于不弹卡参数,则智慧出行服务确定不允许显示乘车态卡片,智慧出行服务不显示乘车态卡片。
[0467] 需要说明的是,本申请上述列表中的各参数仅为示意性举例,本申请不做限定。
[0468] 进一步需要说明的是,智慧出行服务确定用户未刷码的时间可能与智慧出行服务显示乘车态卡片时间之间存在时间差。可选地,智慧出行服务在更新列表时,可基于智慧出行服务显示乘车态卡片的时间更新列表。例如,智慧出行服务显示乘车态卡片的时间为7点,智慧出行服务确定用户未刷码的时间为7点30,智慧出行服务基于显示乘车态卡片的时间,即7点,对列表进行遍历,并更新列表。
[0469] 进一步需要说明的是,本申请实施例中仅以记录弹卡参数与不弹卡参数为例。在其他实施例中,手机可以只记录弹卡参数,其具体实现方式与上文中的实施例相同,即每次弹卡之后,若检测到用户刷码,则弹卡参数加0.2(也可以是其他数值),若检测到用户未刷码,则弹卡参数减0.2。智慧出行服务可基于弹卡参数,判断是否弹卡。例如,当弹卡参数大于预设阈值(例如0.5),则允许弹卡。反之,若弹卡参数小于预设阈值,则不允许弹卡。可选地,手机也可以只记录不弹卡参数,例如,每次弹卡之后,若检测到用户刷码,则不弹卡参数减0.2,若检测到用户未刷码,则不弹卡参数加0.2。示例性的,智慧出行服务可基于不谈卡参数,判定是否弹卡。例如,当不弹卡参数大于预设阈值(例如0.5),则不允许弹卡。反之,若不弹卡参数小于预设阈值,则允许弹卡。
[0470] 在本申请实施例中,智慧出行服务可周期性地或者在灭屏充电的情况下,向云端发送保存的乘车卡片显示列表。当用户登录其他设备时,具有相同账号的设备可从云端获取到乘车卡片显示列表,用户使用具有相同账号的设备乘坐地铁时,智慧出行服务可基于获取到的乘车卡片显示列表执行上文所述的方案。
[0471] 可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0472] 一个示例中,图19示出了本申请实施例的一种电子设备的软件结构示意图。请参照图19,电子设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备的软件结构。电子设备的分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库(图中未显示),以及内核层。
[0473] 应用程序层可以包括一系列应用程序包。如图18所示,应用程序包可以包括智慧出行服务、支付应用、聊天应用、感知模块等应用程序。
[0474] 示例性的,感知模块常驻运行或以低功耗形式运行,具有感知外部事实或者环境的能力,以“围栏”的形式向其他模块提供该能力。如感知时间变化的“时间围栏”,感知地理位置的“地理位置围栏”等。在卡片提醒业务处于开启状态时,感知模块对根据业务逻辑处理模块注册的能力(或事项,如特定时间、特定地点、或特定事件等)进行监控,如果用户触发了其中某一种,感知模块就会发送通知给业务逻辑处理模块。此外,感知模块还可以通过API(application programming interface,应用编程接口)从应用程序层的其他应用程序或应用程序框架层或系统层或内核层来检测相关事件和获取事件的状态,比如检测蓝牙连接,网络连接,监测用户短信,定制定时器等。
[0475] 示例性的,智慧出行服务可以包括业务逻辑处理模块和业务呈现模块。业务逻辑处理模块用于核心业务计算,向感知模块订阅不同的围栏,根据围栏事件感知场景变化,结合业务呈现模块提供的用户交互信息,调用业务场景定义的规则或算法模型,决策向用户推送哪些服务信息以及展示方式(卡片、通知、耳机播报等)。将这些服务信息发送给业务呈现模块展示给用户。业务呈现模块用于用户界面交互以及结果展示。业务呈现模块可接收来自业务逻辑处理模块发送的卡片、通知、耳机播报等的展示、消失指示及相应数据,进行卡片、通知、播报的展示或消失。以及用于将用户交互信息(如用户点击、滑动卡片等)传递给业务逻辑处理模块,做下一步业务决策。可以理解为,本申请实施例中智慧出行服务所执行的显示相关步骤是由业务呈现模块执行的,其它步骤均是由业务逻辑处理模块执行。
[0476] 应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
[0477] 如图19所示,应用程序框架层可以包括窗口管理器、无障碍服务等。
[0478] 内核层包括:显示驱动、Wi‑Fi驱动、蓝牙驱动、音频驱动、传感器驱动等。
[0479] 可以理解的是,图19示出的软件结构中的层以及各层中包含的部件,并不构成对电子设备的具体限定。在本申请另一些实施例中,电子设备可以包括比图示更多或更少的层,以及每个层中可以包括更多或更少的部件,本申请不做限定。
[0480] 以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。