NFC卡片的处理方法及装置、设备、存储介质与流程

文档序号:24067188发布日期:2021-02-26 13:29阅读:194来源:国知局
NFC卡片的处理方法及装置、设备、存储介质与流程
nfc卡片的处理方法及装置、设备、存储介质
技术领域
[0001]
本申请实施例涉及通信技术,涉及但不限于近场通信(near field communication,nfc)卡片的处理方法及装置、设备、存储介质。


背景技术:

[0002]
nfc是一种新兴的通信技术,使用了nfc技术的设备(例如移动终端)可以在彼此靠近的情况下进行数据交换。该技术是由非接触式射频识别(radio frequency identification,rfid)及互连互通技术整合演变而来的,通过在单一芯片上集成感应式读卡器、感应式卡片和点对点通信的功能,利用移动终端实现移动支付、电子票务、门禁、移动身份识别和防伪等应用。
[0003]
相关的nfc读取分发技术,即,安卓系统原生的读卡分发流程是通过nfc服务和读卡应用之间的配合完成的。nfc服务用于解析卡片数据和分析卡片特征,读卡应用用于注册自己期望的特征卡片类型。nfc服务读取到卡片后,将提取到的卡片特征数据匹配读卡应用注册的数据;如果匹配成功,就将数据分发给对应应用。
[0004]
然而,在匹配到多个读卡应用,需要显示这些应用以供用户进行选择,此时经常出现这种情况:用户选择的读卡应用无法处理nfc卡片的数据,导致读卡失败。


技术实现要素:

[0005]
有鉴于此,本申请实施例提供的nfc卡片的处理方法及装置、设备、存储介质,能够提高用户选择正确读卡应用的概率,从而提高读卡成功率,进而提升用户的使用体验。本申请实施例提供的nfc卡片的处理方法及装置、设备、存储介质是这样实现的:
[0006]
本申请实施例提供的nfc卡片的处理方法,包括:确定待处理的nfc卡片对应的读卡应用集合;在所述读卡应用集合包括至少两个读卡应用的情况下,确定所述读卡应用集合中的每一读卡应用的使用热度;按照使用热度由高到低的顺序,对所述读卡应用集合中的读卡应用进行排序;显示排序后的所述读卡应用集合,以供用户选择欲使用的读卡应用。
[0007]
本申请实施例提供的nfc卡片的处理装置,包括:确定模块,用于确定待处理的nfc卡片对应的读卡应用集合;确定模块,还用于在所述读卡应用集合包括至少两个读卡应用的情况下,确定所述读卡应用集合中的每一读卡应用的使用热度;排序模块,用于按照使用热度由高到低的顺序,对所述读卡应用集合中的读卡应用进行排序;显示模块,用于显示排序后的所述读卡应用集合,以供用户选择欲使用的读卡应用。
[0008]
本申请实施例提供的电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请实施例所述的方法。
[0009]
本申请实施例提供的计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例所述的方法。
[0010]
在本申请实施例中,当识别到待处理的nfc卡片时,先确定待处理的nfc卡片对应的读卡应用集合,在读卡应用集合包括至少两个读卡应用的情况下,按照使用热度由高到
低的顺序显示集合中的读卡应用,而不是按照应用名称首字母的顺序显示这些待选择的读卡应用;如此,就大大提高了用户选择正确的读卡应用的概率,从而使得电子设备的读卡成功率相应得到提高。
附图说明
[0011]
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
[0012]
图1为本申请实施例提供的nfc卡片的处理方法的实现流程示意图;
[0013]
图2为本申请实施例提供的另一nfc卡片的处理方法的实现流程示意图;
[0014]
图3为本申请实施例提供的又一nfc卡片的处理方法的实现流程示意图;
[0015]
图4a为本申请实施例提供的应用选择界面示意图;
[0016]
图4b为本申请实施例提供的展开后的应用选择界面示意图;
[0017]
图5为安卓原生读卡分发流程示意图;
[0018]
图6为应用选择界面示意图;
[0019]
图7为本申请实施例提供的读卡分发流程示意图;
[0020]
图8为本申请实施例nfc卡片的处理装置的结构示意图;
[0021]
图9为本申请实施例提供的电子设备的结构示意图。
具体实施方式
[0022]
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
[0023]
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
[0024]
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
[0025]
需要指出,本申请实施例所涉及的术语“第一\第二\第三”用以区别类似或不同的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
[0026]
本申请实施例提供一种nfc卡片的处理方法,该方法应用于电子设备,该电子设备在实施的过程中可以为各种类型的具有信息处理能力的设备,例如所述电子设备可以包括手机、平板电脑、智能穿戴设备(如智能手环)等。该方法所实现的功能可以通过电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该电子设备至少包括处理器和存储介质。
[0027]
图1为本申请实施例提供的nfc卡片的处理方法的实现流程示意图,如图1所示,该方法可以包括以下步骤101至步骤104:
[0028]
步骤101,确定待处理的nfc卡片对应的读卡应用集合。
[0029]
在一些实施例中,读卡应用集合中可以包括未安装的读卡应用和电子设备中已安装的读卡应用。在另一些实施例中,读卡应用集合中还可以仅包括电子设备中已安装的读卡应用。也就是说,电子设备可以从已安装的读卡应用中,选择支持属于分发类型的nfc卡片的读卡应用,从而得到该读卡应用集合。例如,电子设备可以通过如下实施例的步骤201和步骤202实现步骤101。
[0030]
步骤102,在所述读卡应用集合包括至少两个读卡应用的情况下,确定所述读卡应用集合中的每一读卡应用的使用热度。
[0031]
在一些实施例中,电子设备可以根据读卡应用被下载的次数、用户使用该读卡应用的频率和/或用户使用该读卡应用读取该nfc卡片的次数,确定该读卡应用的使用热度。
[0032]
在另一些实施例中,电子设备还可以预先确定每一读卡应用的使用热度,这些信息记录在对应的白名单中,如此,在实现步骤102时,电子设备可以直接从预设白名单中获取读卡应用的使用热度。例如,电子设备可以通过如下实施例的步骤207至步骤209实现步骤102。
[0033]
步骤103,按照使用热度由高到低的顺序,对所述读卡应用集合中的读卡应用进行排序;
[0034]
步骤104,显示排序后的所述读卡应用集合,以供用户选择欲使用的读卡应用。
[0035]
可以理解地,读卡应用的使用热度越高,则越可能正确识别和处理待处理的nfc卡片,也越可能是用户期望使用的读卡应用。因此,在本申请实施例中,按照使用热度由高到低的顺序,对集合中的读卡应用进行排序,这样使得使用热度越高的应用,显示越靠前,从而越容易被用户选中。可见,这种处理nfc卡片的方法,能够提高用户选择正确的读卡应用的概率,从而提高读卡成功率,进而提升用户的使用体验。
[0036]
在实际应用中,当读卡应用集合中包括的读卡应用数目大于或等于2时,程序无法确定将该nfc卡片存储的数据分发给哪个应用来处理,在这种情况下,通常会弹出包括这些应用的图标的应用选择界面,以让用户选择某一应用来处理nfc卡片。然而,一般情况下,面对显示的这些应用,用户并没有能力准确判断读卡应用对被读卡片的处理能力,最终导致用户很大概率选择的应用无法正确读取被读的卡片,即选择的读卡应用是“错误”的,用户体验很差。
[0037]
有鉴于此,在本申请实施例中,电子设备按照使用热度由高到低的顺序显示待选择的读卡应用,而不是按照应用名称首字母的顺序显示这些待选择的读卡应用;如此,就大大提高了用户选择正确的读卡应用的概率,从而使得电子设备的读卡成功率相应得到提高。
[0038]
本申请实施例再提供一种nfc卡片的处理方法,图2为本申请实施例提供的nfc卡片的处理方法的实现流程示意图,如图2所示,该方法可以包括以下步骤201至步骤211:
[0039]
步骤201,确定待处理的nfc卡片的分发类型为以下之一:ndef、tech、tag。
[0040]
相比于以下步骤204得到的目标类型,这里实际上是对nfc卡片进行了粗略识别,以识别出支持nfc卡片的分发类型。
[0041]
需要说明的是,ndef,即nfc data exchange format的缩写,是指nfc数据交换格式,也就是nfc组织约定的nfc标签中的数据格式;在安卓原生的读卡分发系统中是这样定
义的:如果nfc卡片的分发类型为ndef,则按照该类型对应的分发规则进行nfc卡片数据的分发。
[0042]
tech,即technology的缩写,是指nfc卡片采用的硬件射频技术,例如:typea、typeb等;在安卓原生的读卡分发系统中是这样定义的:如果nfc卡片的分发类型为tech,则按照该类型对应的分发规则进行nfc卡片数据的分发。
[0043]
tag,是指能够记录数据的nfc卡片;在安卓原生的读卡分发系统中是这样定义的:如果nfc卡片的分发类型为tag,则按照该类型对应的分发规则进行nfc卡片数据的分发。
[0044]
步骤202,从已安装的应用中,确定支持所述nfc卡片的分发类型的读卡应用,以得到读卡应用集合。
[0045]
在安卓原生的读卡分发系统中,定义了三种意图(intent),按优先级从高到低列出如下:
[0046]
1.action_ndef_discovered。如果扫描到包含ndef负载的标签,并且可识别其类型,则使用此intent启动活动(activity)。这是优先级最高的intent,标签调度系统会尽可能尝试使用此intent启动activity,在行不通时才会尝试使用其他intent。
[0047]
2.action_tech_discovered:如果没有登记要处理action_ndef_discovered intent的activity,则标签调度系统会尝试使用此intent来启动应用。此外,如果扫描到的标签包含无法映射到安卓定义的mime类型或uri的ndef数据,或者该标签不包含ndef数据,但它使用了已知的标签技术,那么也会直接启动此intent,而无需先启动action_ndef_discovered。
[0048]
3.action_tag_discovered:如果没有处理action_ndef_discovered或者action_tech_discovered intent的activity,则使用此intent启动activity。
[0049]
可以理解地,activity是安卓(android)组件中最基本也是最为常见用的四大组件之一。在一个安卓应用中,一个activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。activity之间通过intent进行通信。安卓中的intent是一个非常重要且常用的类,可以用来在一个组件中启动应用中的另一个组件或者是启动另一个应用的组件,这里所说的组件指的是activity、service以及broadcast。
[0050]
步骤203,确定读卡应用集合中的应用数目;在所述应用数目为0的情况下,执行步骤204;在所述应用数目为1的情况下,执行步骤206;在所述应用数目大于或等于2的情况下,执行步骤207;
[0051]
可以理解地,集合中的应用数目为0,说明已安装的应用中没有支持该nfc卡片的分发类型的读卡应用,此时可以执行步骤204。
[0052]
步骤204,确定所述nfc卡片的目标类型。
[0053]
相比于分发类型的识别方式,实际上步骤204是对所述nfc卡片的精细识别,从而确定出该nfc卡片的目标类型。也就是说,目标类型的精度高于分发类型的精度。
[0054]
在一些实施例中,电子设备可以读取nfc卡片存储的数据;然后,对该数据进行分析,提取特征;基于提取的特征,确定该卡片的具体类型(即目标类型)。可以理解地,目标类型比分发类型的精度高。
[0055]
举例来说,假设待处理的nfc卡片为公交卡,通过步骤201识别出该nfc卡片的分发类型为tech卡片,而通过步骤204,可以识别出该nfc卡片的目标类型为上海通公交卡。
[0056]
步骤205,向用户推荐支持所述目标类型的读卡应用,以引导所述用户下载推荐的读卡应用。
[0057]
可以理解地,由于目标类型的精度高于分发类型的精度,因此,基于卡片的目标类型向用户推荐读卡应用,相比于基于卡片的分发类型向用户推荐读卡应用,推荐结果更准确。换言之,推荐的读卡应用读取卡片数据的成功率更高。
[0058]
举例来说,假设待处理的nfc卡片是一张公交卡,那么通过步骤201只能识别出该公交卡的类型为tech卡,而这个识别结果精度是非常低的,原因是tech是每张卡片都存在的物理特性;如果基于tech卡去推荐支持该卡片的读卡应用,推荐的结果精度也是非常低的,推荐的读卡应用可能无法成功读取该卡片的数据;因此,进一步地,电子设备对该公交卡进行精细识别,例如识别出该卡片不仅是公交卡(分发类型),具体还是一张西安“城市一卡通”(目标类型);如此,基于该结果推荐的读卡应用就会更为准确,相应地,读卡成功率会更高。
[0059]
步骤206,将所述nfc卡片存储的数据分发给所述读卡应用集合中的读卡应用,以使该应用对该数据进行处理;
[0060]
步骤207,确定所述nfc卡片的目标类型;
[0061]
这里依然是电子设备通过对待处理的nfc卡片的精细识别得到的nfc卡片的目标类型。
[0062]
步骤208,确定所述读卡应用集合中支持所述目标类型的目标应用;
[0063]
步骤209,将所述目标应用的使用热度设置为高于所述读卡应用集合中的非目标应用的使用热度。
[0064]
可以理解地,读卡应用集合是基于nfc卡片的分发类型对应用进行筛选的结果,其筛选较为粗糙,这样导致其中有的读卡应用可能无法处理该卡片存储的数据。通过本申请实施例的步骤207和步骤208,对读卡应用集合进行进一步筛选,以通过步骤209和步骤210,使得这些进一步筛选得到的读卡应用优先显示,从而减少用户选择的应用数量,进而使得用户选择正确的读卡应用的概率提高,这样读卡成功率也能够相应得到提高。
[0065]
在一些实施例中,电子设备可以这样实现步骤208:获取与所述目标类型对应的预设白名单,所述预设白名单包括支持所述目标类型且满足使用热度要求的读卡应用和对应的使用热度;确定所述读卡应用集合中存在于所述预设白名单中的目标应用;相应地,步骤209包括:从所述预设白名单中,获取所述目标应用的使用热度;将非目标应用的使用热度设为低于每一所述目标应用的使用热度。
[0066]
举例来说,假设基于nfc卡片的分发类型,确定的读卡应用集合包括读卡应用a、读卡应用b、读卡应用c、读卡应用d、读卡应用e和读卡应用f。基于nfc卡片的精细识别结果,即目标类型,获得与该目标类型对应的预设白名单,包括读卡应用a、读卡应用c和读卡应用d以及这三个应用分别对应的使用热度为80、90和95;其中,数值越大,表示使用热度越高。那么,得到的读卡应用a至f的使用热度如下表1所示:
[0067]
表1
[0068]
读卡应用使用热度读卡应用使用热度读卡应用a80读卡应用d95读卡应用b0读卡应用e0
读卡应用c90读卡应用f0
[0069]
步骤210,按照使用热度由高到低的顺序,对所述读卡应用集合中的读卡应用进行排序。
[0070]
在一些实施例中,所述预设白名单中每一读卡应用的使用热度通过优先级表征,所述使用热度与所述优先级成正相关;即,优先级越高,表示使用热度越高;反之,优先级越低,表示使用热度越低。那么,电子设备可以将读卡应用集合中的非目标应用的优先级设置为最低优先级。
[0071]
相应地,电子设备可以按照优先级由高到低的顺序,对所述读卡应用集合中的读卡应用进行排序。
[0072]
步骤211,显示排序后的所述读卡应用集合,以供用户选择欲使用的读卡应用。
[0073]
在一些实施例中,电子设备可以在应用选择界面显示集合中的读卡应用的图标。当接收到选择指令时,将nfc卡片存储的数据发送给被选择的读卡应用,由该应用来进行数据处理。
[0074]
本申请实施例再提供一种nfc卡片的处理方法,图3为本申请实施例提供的nfc卡片的处理方法的实现流程示意图,如图3所示,该方法可以包括以下步骤301至步骤311:
[0075]
步骤301,确定待处理的nfc卡片是否是特定标签;如果是,执行步骤302;否则,执行步骤304;
[0076]
步骤302,读取所述nfc卡片存储的数据;
[0077]
步骤303,将所述数据分发给所述nfc卡片的指定读卡应用,以触发所述指定读卡应用对所述数据进行处理。
[0078]
属于特定标签的nfc卡片,也称之为直达类的标签。而对于直达类的标签,比如,用于控制启动tv投屏的标签,识别之后,将该标签中存储的数据直接发给对应的应用,使得该应用直接启动tv投屏即可,而无需显示该tv投屏的应用图标供用户点选。再比如,公交卡为特定标签,对应的指定读卡应用为某支付应用。在将该公交卡的数据分发给该支付应用之后,该应用对该数据的处理结果为:直接显示该公交卡的充值界面,比如该界面包括余额和用户信息等。而在显示该充值界面之前,无需显示该应用图标等与该充值界面无关的界面。可见,为特定标签添加直达能力,能够节约读卡流程。
[0079]
可以理解地,在识别到待处理的nfc卡片时,可以先确定该卡片是否是特定标签,如果是,则不执行以下步骤304至步骤311,而是直接将该卡片存储的数据分发给与该卡片绑定的读卡应用(即所述指定读卡应用)。即,为特定标签添加直达能力,无需用户选择,而是直接跳转到指定应用;如此,使得这些私有标签等特定标签不会因被三方软件恶意注册而破坏直达体验。
[0080]
在一些实施例中,可以通过后台服务实现所述指定读卡应用对所述数据的处理;如此,可以避免显示一些无意义的用户界面(user interface,ui),从而提升用户体验。
[0081]
步骤304,确定所述nfc卡片对应的读卡应用集合;
[0082]
步骤305,在所述读卡应用集合包括至少两个读卡应用的情况下,确定所述读卡应用集合中的每一读卡应用的使用热度;
[0083]
步骤306,按照使用热度由高到低的顺序,对所述读卡应用集合中的读卡应用进行排序;
[0084]
步骤307,在应用选择界面显示所述读卡应用集合中排名在前的n个读卡应用,以供用户选择欲使用的读卡应用;其中,n为大于0的整数;
[0085]
n的数值可以是预设值,例如,该值为3或4等。在一些实施例中,n小于读卡应用集合中的应用数目,如此,能够减少供用户选择的应用的数量,从而使用户选择到正确的读卡应用的概率更高,当然读卡成功率也得到相应提高。
[0086]
步骤308,在所述应用选择界面显示查看按钮,所述查看按钮用于控制应用选择界面展开所述读卡应用集合中其余未显示的读卡应用。
[0087]
如图4a所示,在应用选择界面40显示使用热度排名前4的读卡应用的图标,即app1至app4,以及“显示更多app”的查看按钮401。
[0088]
如图4a所示,在应用选择界面40上还可以显示包括“检测到nfc标签,请选择打开的应用”的提示框402,显示“取消”按钮403,该按钮用于取消显示该应用选择界面40。
[0089]
当查看按钮401接收到触摸操作时,如图4b所示,应用选择界面40上增加显示了app5至app8的图标。当用户向左滑动该界面40时,则会在另一界面显示其他读卡应用的图标。
[0090]
需要说明的是,一般来说,并行执行步骤307和步骤308,即在应用选择界面显示排名在前的n个读卡应用以及用于控制查看更多应用的查看按钮。
[0091]
步骤309,在检测到读卡应用接收到选择指令时,显示直达设置按钮,所述直达设置按钮用于控制电子设备将被选择的读卡应用设置为所述nfc卡片的指定读卡应用。
[0092]
用户可以通过各种方式发出选择指令。例如,用户可以通过语音控制或触摸控制等方式发出选择指令,选择指令用于指示选择对应的读卡应用来处理nfc卡片存储的数据。
[0093]
步骤310,接收直达设置指令,所述直达设置指令用于指示将接收所述直达设置指令的读卡应用设置为所述nfc卡片的指定读卡应用;
[0094]
步骤311,根据所述直达设置指令,将所述nfc卡片记录为特定标签,将接收所述直达设置指令的读卡应用设置为所述nfc卡片的指定读卡应用;从而,在之后识别到该nfc卡片时,直接将该卡片按照特定标签对应的流程进行处理,即,将该卡片存储的数据直接分发给与其绑定的读卡应用。如此,能够降低用户选择读卡应用的次数。
[0095]
安卓原生读卡分发流程按照ndef、tech、tag逐级分发,分发精度逐渐降低,分发流程如图5所示,即:如果扫描到ndef格式的标签(即nfc卡片),则使用为“ndef_discovered”的intent启动activity;此时判断是否能够由已注册的activity来处理“ndef_discovered”;如果可以,则将该intent传递给activity;否则,认为扫描到的标签可能是未映射或非ndef格式的标签,此时使用为“tech_discovered”的intent启动activity;此时判断是否能够由已注册的activity来处理“tech_discovered”;如果可以,则将该intent传递给activity;否则,使用为“tag_discovered”的intent启动activity;此时判断是否能够由已注册的activity来处理“tag_discovered”;如果可以,则将该intent传递给activity;否则,结束,宣告读卡失败。
[0096]
如果分发时出现碰撞(即匹配到多个读卡应用),则需要弹出应用选择框让用户自行选择处理此次读卡事件的应用,例如图6所示。相关的分发技术存在以下几个问题:
[0097]
1.分发精度低。除了ndef类型精度比较高以外,tech类型和tag类型这两种分发方式精度都太低了,因为tech是每张卡片都存在的物理特性,而且种类少,无法通过tech判断
具体的卡片类型,tag这种分发方式精度最低,完全没有包含卡片的任何特征。
[0098]
然而,分发精度低会导致分发时出现碰撞的概率很大,即多个应用都注册了同种类型卡片的读取,程序无法确定将标签分发给哪个应用处理,这种情况下需要弹出选择框让用户去进行选择可以处理的读卡应用,但是一般用户并没有能力准确判断读卡应用对被读卡片的处理能力,最终导致用户读卡后很大概率选择的应用无法正确读取被读的卡片,用户体验很差;
[0099]
2.读卡应用排列顺序固定。原生的应用选择界面(ui),应用是根据名称进行排序的,如果恰好用户想要用的应用排名靠后,则每次用户都需要翻到最后才能选到想要的应用,用户体验比较差。
[0100]
基于此,下面将说明本申请实施例在一个实际的应用场景中的示例性应用。
[0101]
在本申请实施例中,读卡时在nfc服务中增加更多的特征提取,对符合某些特征的卡片赋予类型,并且根据这些类型对市面上已有的读卡应用进行筛选,建立一个[卡片类-读卡应用]这样的白名单列表,白名单同时记录每个读卡应用一个预设的优先级,在分发时根据白名单的映射关系,对原生分发结果进行增强,整体流程如图7所示。详细步骤如下:
[0102]
步骤1,对市面上一些常用的nfc卡片建立模型提取特征,将其数字化,并将其定义为[规则],符合这个规则的卡片都被赋予一个类型,每个规则有且仅能唯一确定一种卡片类型;
[0103]
步骤2,读取到nfc卡片时,nfc服务遍历所有规则进行识别,识别成功后为这个标签绑定一个类型,对应图7中序号1;
[0104]
步骤3,识别完成后,按照原生分发流程进行标签分发,即ndef、tech、tag三种类型的分发。对应图7种的序号2;
[0105]
步骤4,分发时如果未出现碰撞(即只匹配到单个读卡应用),则按照原生流程直接分发给匹配到的那个应用,分发结束。对应图7中的序号3直接到序号8的过程;
[0106]
步骤5,如果分发过程中出现了碰撞(即匹配到的读卡应用有多个),则判断列表中的应用是否存在于此类卡片的白名单中;如果存在,则取白名单中的优先级进行排序(对应图7中序号5),将列表排序后再由ui展示给用户进行选择(对应图7中序号6)。同时,ui上引导用户选择优先级最高的应用,在弹出的选择框中默认只显示优先级最高的几个应用,其他应用默认隐藏;点击“显示更多应用”的按钮后才开放其他应用的选择。
[0107]
步骤6,如果某种卡片可以确定只有一个应用可以处理,例如私有标签,则可以给该应用赋予此类型卡片最高优先级,在读取到此类卡片时,无视原生分发结果,直接分发给此应用,即直达规则。对应图7中序号4直接到序号8的过程;
[0108]
步骤7:除了预置的优先级,还可以通过学习用户的使用习惯,增加用户常用应用的优先级,让用户常用的应用更容易被选择到。此处优先级排序同样是在图7中序号5步骤完成的;
[0109]
步骤8:对于直达类的规则分发,可以支持拉起service而不是activity。
[0110]
可以理解地,service是安卓系统中的四大组件之一,被称“后台服务”,指其本身的运行并不依赖于用户可视的ui界面。activity是安卓应用的核心概念,简而言之activity为用户交互管理者,有一个可视界面呈现,而service跟activity的区别是它在后台运行,没有界面呈现。
[0111]
本申请实施例带来的有益效果有以下几点:
[0112]
1.提高用户读卡成功的概率。通过提高卡片识别及分发的精度,让经过筛选的应用优先显示,减少需要用户选择的应用数量,使用户选择到正确的读卡应用的概率大大提高,读卡成功率也相应提高,提高用户的读卡体验;
[0113]
2.支持特定标签直达。为特定标签增加直达能力,无需用户选择直接跳转到指定应用,让一些私有标签不会被三方软件恶意注册而破坏直达体验;
[0114]
3.用户使用习惯学习。通过学习用户读卡应用的使用习惯,让用户更加方便地选到想要使用的应用;
[0115]
4.可以拉起service。原生分发只能够支持拉起activity,在使用上有不少局限,在本申请实施例中通过扩展,为直达类型卡片分发添加了拉起service的支持,丰富了使用场景。
[0116]
可以理解地,在本申请实施例中,提前对读卡应用进行筛选,将读卡应用和支持的卡片类型关联起来,读卡时对卡片进行精确地识别,在分发过程中根据卡片类型对读卡应用进行匹配,最后利用匹配结果对应用选择ui界面进行增强,引导用户选择正确的读卡应用,提升读卡成功率。
[0117]
在一些实施例中,在应用选择ui上增加始终使用此应用处理该卡片的选项,下次读取后直接使用记录的应用进行读卡处理,降低用户的选择次数;
[0118]
在一些实施例中,读取到已知类型卡片时,但是手机中未安装支持的读卡应用时,弹出应用推荐界面,引导用户前往应用商店下载推荐的读卡应用。
[0119]
基于前述的实施例,本申请实施例提供一种nfc卡片的处理装置,该装置包括所包括的各模块、以及各模块所包括的各单元,可以通过电子设备的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(cpu)、微处理器(mpu)、数字信号处理器(dsp)或现场可编程门阵列(fpga)等。
[0120]
图8为本申请实施例nfc卡片的处理装置的结构示意图,如图8所示,所述装置80包括;其中,
[0121]
确定模块801,用于确定待处理的nfc卡片对应的读卡应用集合;在所述读卡应用集合包括至少两个读卡应用的情况下,确定所述读卡应用集合中的每一读卡应用的使用热度;
[0122]
排序模块802,用于按照使用热度由高到低的顺序,对所述读卡应用集合中的读卡应用进行排序;
[0123]
显示模块803,用于显示排序后的所述读卡应用集合,以供用户选择欲使用的读卡应用。
[0124]
在一些实施例中,确定模块801,用于:确定所述nfc卡片的分发类型为以下之一:ndef、tech、tag;从已安装的应用中,确定支持所述nfc卡片的分发类型的读卡应用,以得到所述读卡应用集合。
[0125]
在一些实施例中,确定模块801,用于:确定所述nfc卡片的目标类型;确定所述读卡应用集合中支持所述目标类型的目标应用;将所述目标应用的使用热度设置为高于所述读卡应用集合中的非目标应用的使用热度。
[0126]
在一些实施例中,确定模块801,用于:获取与所述目标类型对应的预设白名单,所
述预设白名单包括支持所述目标类型且满足使用热度要求的读卡应用和对应的使用热度;确定所述读卡应用集合中存在于所述预设白名单中的目标应用;从所述预设白名单中,获取所述目标应用的使用热度;将非目标应用的使用热度设为低于每一所述目标应用的使用热度。
[0127]
在一些实施例中,所述预设白名单中每一读卡应用的使用热度通过优先级表征,所述使用热度与所述优先级成正相关;排序模块802,用于按照优先级由高到低的顺序,对所述读卡应用集合中的读卡应用进行排序。
[0128]
在一些实施例中,所述装置80还包括更新模块,所述更新模块,用于:获取用户选择日志,所述用户选择日志包括所述nfc卡片在历次被处理时用户选择的读卡应用信息;根据所述用户选择日志,增加所述预设白名单中历次被选中的读卡应用的使用热度。
[0129]
在一些实施例中,确定模块801,用于:在确定待处理的nfc卡片对应的读卡应用集合之前,确定所述nfc卡片是否是特定标签;如果所述nfc卡片是所述特定标签,读取所述nfc卡片存储的数据;将所述数据分发给所述nfc卡片的指定读卡应用,以触发所述指定读卡应用对所述数据进行处理;如果所述nfc卡片不是所述特定标签,执行所述确定待处理的nfc卡片对应的读卡应用集合的步骤。
[0130]
在一些实施例中,所述指定读卡应用对所述数据进行处理,包括:通过后台服务实现所述指定读卡应用对所述数据的处理。
[0131]
在一些实施例中,所述装置80还包括指令接收模块和指令执行模块;其中,所述指令执行模块,用于在所述显示排序后的所述读卡应用集合之后,接收直达设置指令,所述直达设置指令用于指示将接收所述直达设置指令的读卡应用设置为所述nfc卡片的指定读卡应用;所述指令执行模块,根据所述直达设置指令,将所述nfc卡片记录为特定标签,将接收所述直达设置指令的读卡应用设置为所述nfc卡片的指定读卡应用。
[0132]
在一些实施例中,显示模块803,用于:在应用选择界面显示排序后的所述读卡应用集合中排名在前的n个读卡应用;其中,n为大于0的整数;在所述应用选择界面显示查看按钮,所述查看按钮用于控制应用选择界面展开所述读卡应用集合中其余未显示的读卡应用。
[0133]
在一些实施例中,所述装置80还包括推荐模块;其中,所述确定模块801,还用于在已安装的应用中没有支持所述nfc卡片的分发类型的读卡应用时,确定所述nfc卡片的目标类型;所述推荐模块,用于向用户推荐支持所述目标类型的读卡应用,以引导所述用户下载推荐的读卡应用。
[0134]
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
[0135]
需要说明的是,本申请实施例中图8所示的nfc卡片的处理装置对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。也可以采用软件和硬件结合的形式实现。
[0136]
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的nfc卡片
的处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
[0137]
对应地,如图9所示,本申请实施例提供的电子设备90,该电子设备90可以包括:包括存储器901和处理器902,所述存储器901存储有可在处理器902上运行的计算机程序,所述处理器902执行所述程序时实现上述实施例中提供的方法中的步骤。
[0138]
存储器901配置为存储由处理器902可执行的指令和应用,还可以缓存待处理器902以及电子设备90中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(flash)或随机访问存储器(random access memory,ram)实现。
[0139]
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的nfc卡片的处理方法中的步骤。
[0140]
本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例提供的nfc卡片的处理方法。
[0141]
这里需要指出的是:以上存储介质、设备以及程序产品实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质、芯片和终端设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
[0142]
应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
[0143]
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如对象a和/或对象b,可以表示:单独存在对象a,同时存在对象a和对象b,单独存在对象b这三种情况。
[0144]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0145]
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的触摸屏系统的实施例仅仅是示意性的,例如,所述模块的划
分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0146]
上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理模块;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。
[0147]
另外,在本申请各实施例中的各功能模块可以全部集成在一个处理单元中,也可以是各模块分别单独作为一个单元,也可以两个或两个以上模块集成在一个单元中;上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0148]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。
[0149]
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。
[0150]
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
[0151]
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
[0152]
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
[0153]
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1