CN114666437A - 对nfc标签中的数据进行快速分发的方法及电子设备 - Google Patents

对nfc标签中的数据进行快速分发的方法及电子设备 Download PDF

Info

Publication number
CN114666437A
CN114666437A CN202210126940.XA CN202210126940A CN114666437A CN 114666437 A CN114666437 A CN 114666437A CN 202210126940 A CN202210126940 A CN 202210126940A CN 114666437 A CN114666437 A CN 114666437A
Authority
CN
China
Prior art keywords
data
electronic device
nfc
application
type
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210126940.XA
Other languages
English (en)
Inventor
郑州
吕森
甄家灏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202210126940.XA priority Critical patent/CN114666437A/zh
Publication of CN114666437A publication Critical patent/CN114666437A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10009Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
    • G06K7/10366Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves the interrogation device being adapted for miscellaneous applications
    • G06K7/10376Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves the interrogation device being adapted for miscellaneous applications the interrogation device being adapted for being moveable
    • G06K7/10386Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves the interrogation device being adapted for miscellaneous applications the interrogation device being adapted for being moveable the interrogation device being of the portable or hand-handheld type, e.g. incorporated in ubiquitous hand-held devices such as PDA or mobile phone, or in the form of a portable dedicated RFID reader
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B5/00Near-field transmission systems, e.g. inductive or capacitive transmission systems
    • H04B5/70Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
    • H04B5/72Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for local intradevice communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72454User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Toxicology (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Environmental & Geological Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephone Function (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供一种快速分发NFC标签中的数据的方法及电子设备,上述方法包括:电子设备接收NFC标签发送的数据;上述电子设备确定上述数据是否是NDEF格式的数据;当上述数据是NDEF格式的数据时,上述电子设备确定上述数据的MIME类型;上述电子设备确定上述MIME类型是否在第一白名单中,上述第一白名单为MIME类型与应用模块之间的对应关系。当上述MIME类型在上述第一白名单中时,上述电子设备确定与上述MIME类型对应的一个应用模块。通过上述技术方案,电子设备可以快速地将在上述第一白名单中的MIME类型的数据分发给应用模块,从而达到NFC标签中的数据“一碰直达”的用户体验,也提高了电子设备处理NFC标签的效率。

Description

对NFC标签中的数据进行快速分发的方法及电子设备
本申请是分案申请,原申请的申请号是201910232545.8,原申请日是2019年03月26日,原申请的全部内容通过引用结合在本申请中。
技术领域
本申请涉及近场通信领域,尤其涉及对NFC标签中的数据进行快速分发的方法及电子设备。
背景技术
近场通信(near field communication,NFC)是一种短距离高频的无线电技术,在13.56MHz工作频率下运行于10厘米距离内,其传输速度有106Kbit/s、212Kbit/s或者424Kbit/s三种。目前,NFC技术已成为相关国际标准,并被广泛应用。
一般而言,具备NFC功能的电子设备(例如手机等)可以具有三种工作模式,即读/写模式、点对点模式和卡模拟模式。其中,点对点模式下,两个NFC电子设备可以建立无线连接,实现点对点数据传输。基于该模式,多个具有NFC功能的数码相机、平板电脑、手机之间都可以进行无线互联,实现数据交换。基于该模式的典型应用场景有快速建立蓝牙连接、交换联系人名片等。卡模拟模式下,NFC读卡器是主动设备,产生NFC射频场,NFC电子设备为被动设备,模拟一张符合NFC相关标准的非接触式射频卡,以便与上述NFC读卡器进行数据交互。该模式主要用于消费、交通、门禁等非接触场景中,例如,用户可以将NFC电子设备靠近NFC读卡器,并输入密码确认交易或者直接接收交易即可,这使得在不改变现有设施的基础上就可以使用NFC电子设备进行非接触的NFC业务。读/写模式下,该电子设备可以作为非接触式读卡器使用,比如从海报或者展览的NFC标签上读取相关信息。在该模式中,NFC电子设备可从NFC标签中采集数据,然后对该数据进行处理。基于该模式的典型场景包括电子广告读取和车票、电影院门票售卖等。比如如果在电影海报上贴有NFC标签,用户可以将该NFC电子设备贴近该电影海报以便获得电影的详细信息。除此之外,读卡器模式下的NFC电子设备还能够用于简单的数据获取,比如公交车站站点信息、公园地图等信息的获取。
现有技术中,由于读/写模式是在手机开屏状态下,不用先选择应用到前台就可以触发的,所以造成现有读到NFC标签或是卡片时对应到多个应用需要靠用户手动选择,但是常常用户其实不知道读到的NFC标签或卡片是要选择那个应用,还有当弹出应用列表的时候已经打扰到用户使用。由此可见,在该场景下NFC电子设备中所进行的操作步骤非常繁琐,严重降低了该移动设备与用户的智能交互能力,也降低了NFC电子设备的NFC使用效率。
发明内容
本申请的目的在于提供了一种对NFC标签中的数据进行快速分发的方法及电子设备,可使得电子设备能快速对NFC标签中的数据进行分发,这样就提高了电子设备的NFC处理效率,同时电子设备分享数据的过程更加简单有效。
上述目标和其他目标将通过独立权利要求中的特征来达成。进一步的实现方式在从属权利要求、说明书和附图中体现。
第一方面,提供了一种电子设备(例如手机),该电子设备包括:显示屏;一个或多个处理器;存储器;该存储器存储有一个或多个计算机程序,该一个或多个计算机程序包括指令,当该指令被该一个或多个处理器执行时,使得该电子设备执行以下步骤:接收NFC标签发送的数据;确定该数据是否是NDEF格式的数据;当该数据是NDEF格式的数据时确定该数据的MIME类型;确定该MIME类型是否在第一白名单中,该第一白名单为MIME类型与应用模块(例如应用或软件功能模块)之间的对应关系;当该MIME类型在该第一白名单中时,确定与该MIME类型对应的一个应用模块;将NDEF格式的该数据自动分发给该确定的应用模块。通过上述技术方案,电子设备可以快速地将在白名单(例如上述第一白名单)中的MIME类型的数据分发给应用模块,从而达到NFC标签中的数据“一碰直达”的用户体验,也提高了电子设备处理NFC标签的效率。
在一种可能的实现方式中,上述该第一白名单中的MIME类型为特定格式的字符串,该字符串中包括应用模块的包名。示例性地,该MIME类型可以诸如以下格式:
huawei.direct/packagename-action
其中,huawei.direct是MIME的类型;packagename是子类型(subtype),也即应用的包名;action为该应用自定义的动作,为可选项。示例性地,按照上述格式的MIME类型可以是:huawei.direct/com.huawei.wallet-sendsms;其中该应用是华为钱包,该应用的包名是com.huawei.wallet,“sendsms”表明该应用在收到上述数据后可以发送短信。上述实现方式可以使得符合特定格式的MIME类型的数据快速被其对应的应用模块进行处理,从而避免了对一些常见MIME类型的数据处理。
在一种可能的实现方式中,上述确定的一个应用模块可以为一个应用,该应用可以通过xml文件来申明处理特定格式的MIME类型数据。为了达到“一碰直达”这种用户体验,通过MIME类型确定的应用模块例如应用可以是一个;这样电子设备就能快速、准确地将NFC标签中的数据分发给该应用模块来处理。
在另一种可能的实现方式中,上述确定的一个应用模块可以为一个软件功能模块;该软件功能模块可以为Wi-Fi模块,或该软件功能模块可以为蓝牙模块。例如,当上述MIME类型表明上述数据是Wi-Fi配置参数(例如服务集标识(service set identifier,SSID)、密码或其他配置参数)时,电子设备可以启动与其对应的Wi-Fi模块,由该Wi-Fi模块根据所述WiFi配置参数快速进行网络连接。上述方案实现了“一碰直达”的用户体验,同时也提高了电子设备进行WiFi网络连接的效率。又例如,当上述MIME类型表明上述数据是蓝牙配置参数时,电子设备可以快速启动与其对应的蓝牙模块,由该蓝牙模块根据所述配置参数快速进行配对。
在一种可能的实现方式中,当上述指令被所述一个或多个处理器执行时,还可以使得该电子设备执行以下步骤:当确定该数据的MIME类型不在该第一白名单中时,确定该MIME类型是否在第二白名单中,该第二白名单中的MIME类型是在IANA机构注册的媒体类型,例如text/plain、video/mp4等媒体类型;当该MIME类型在该第二白名单中,则确定与该MIME类型对应的一个或多个应用模块(例如一个或多个应用);当确定的该应用模块是一个时,将该NDEF数据分发给该应用模块处理。在本实现方式中,第二白名单中的MIME类型是常见的、在互联网数字分配机构(the Internet assigned numbers authority,IANA)注册的媒体类型,而第一白名单中的MIME类型是特定格式的,两者在格式上并不相同。因此,在上述数据的MIME类型无法匹配到第一白名单中的MIME类型时,电子设备还可以通过第二白名单来快速处理常见MIME类型的数据。这样就进一步使得电子设备能够快速地处理更多MIME类型的数据了。
在另一种可能的实现方式中,当确定的该应用模块是多个(也即两个或两个以上)时,电子设备可以提示用户从中选择一个应用模块;电子设备可以根据用户的选择,确定所选择的应用模块,然后将该NDEF数据自动分发给所选择的该应用模块处理。
在另一种可能的实现方式中,当上述指令被所述一个或多个处理器执行时,还可以使得该电子设备执行以下步骤:当确定该数据不是NDEF格式的数据时该电子设备发送请求信息,该请求信息用于向该NFC标签请求特征信息;该电子设备接收该NFC标签发送的响应信息,该响应信息中携带了该特征信息;该电子设备根据该响应信息中的该特征信息确定是否能识别该NFC标签的该数据;当根据该特征信息能识别该数据时,该电子设备提示应用列表给用户。在本实现方式中,当上述数据不是NDEF格式的数据时,电子设备可以通过与NFC标签交互来获取与该NFC标签相关的特征信息例如应用标识符(applicationidentifier,AID)或tag类型等,根据获取到的特征信息来识别该NFC标签的内容。
在一种可能的实现方式中,上述请求信息可以携带在应用协议数据单元(application protocol data unit,APDU)发送命令中的命令数据字段中。
第二方面,提供了一种快速分发NFC标签中的数据的方法,该方法可以包括:电子设备接收NFC标签发送的数据;上述电子设备确定上述数据是否是NDEF格式的数据;当上述数据是NDEF格式的数据时,上述电子设备确定上述数据的MIME类型;电子设备确定上述MIME类型是否在第一白名单中,上述第一白名单为MIME类型与应用模块之间的对应关系;当上述MIME类型在上述第一白名单中时,上述电子设备确定与上述MIME类型对应的一个应用模块;上述电子设备将NDEF格式的上述数据自动分发给上述确定的应用模块。通过上述技术方案,电子设备可以快速地将在白名单(例如上述第一白名单)中的MIME类型的数据分发给应用模块,从而达到NFC标签中的数据“一碰直达”的用户体验,也提高了电子设备处理NFC标签的效率。
在一种可能的实现方式中,上述第一白名单中的MIME类型为特定格式的字符串,上述字符串中包括应用模块的包名。该MIME类型的具体格式可以参见上面的记载。
在一种可能的实现方式中,上述确定的一个应用模块为一个应用,上述应用通过xml文件来申明处理特定的MIME类型的数据。
在另一种可能的实现方式中,上述确定的一个应用模块为一个软件功能模块,上述软件功能模块为Wi-Fi模块,或上述软件功能模块为蓝牙模块。
在一种可能的实现方式中,在电子设备确定上述数据是否是NDEF格式的数据之前,上述方法还可以包括:电子设备确定检测到的NFC标签是否在阻止列表(也即黑名单)中;如果确定该NFC标签不在阻止列表中,则电子设备再去确定上述数据是否是NDEF格式的数据。这样就进一步避免了恶意的NFC标签对电子设备的,从而提高了电子设备的数据安全。
在一种可能的实现方式中,上述方法还可以包括:当确定上述数据的MIME类型不在上述第一白名单中时,电子设备确定上述MIME类型是否在第二白名单中,上述第二白名单中的MIME类型是在IANA机构注册的媒体类型;当上述MIME类型在上述第二白名单中,则上述电子设备确定与上述MIME类型对应的一个或多个应用模块;当确定的上述应用模块是一个时,上述电子设备将上述NDEF数据分发给上述应用模块处理;或者,当确定的上述应用模块是多个时,上述电子设备提示用户从中选择一个应用模块;上述电子设备检测到用户的选择操作;响应于上述选择操作,上述电子设备确定所选择的应用模块;上述电子设备将上述NDEF数据自动分发给所选择的上述应用模块处理。
在另一种可能的实现方式中,,上述方法还可以包括:当确定上述数据不是NDEF格式的数据时电子设备发送请求信息,上述请求信息用于向上述NFC标签请求特征信息;电子设备接收上述NFC标签发送的响应信息,上述响应信息中携带了上述特征信息;根据上述响应信息中的上述特征信息,电子设备确定是否能识别上述NFC标签的上述数据;当根据上述特征信息能识别上述数据时,电子设备提示应用列表给用户。
第三方面,提供了一种电子设备,包括:显示屏;一个或多个处理器;存储器;该存储器存储有一个或多个计算机程序,该一个或多个计算机程序包括指令,当该指令被该一个或多个处理器执行时,使得该电子设备执行如上第二方面的方法所述的各个步骤。
第四方面,提供了一种电子设备,该电子设备中安装有用于处理NFC标签中的数据的一个或多个应用1。其中,该电子设备包括NFC收发器和NFC控制器,该NFC控制器包括分段采集数据单元、长短帧封装单元、长帧分发单元、短帧分发单元和短帧处理单元。其中,分段采集数据单元用于分段采集通过NFC收发器接收的数据,该数据是由NFC标签发送的。长短帧封装单元用于封装短帧消息和长帧消息,短帧消息用于通知短帧处理单元,长帧消息用于数据内容的承载。长短帧封装单元还用于将上述短帧消息发送给短帧分发单元,将上述长帧消息发送给长帧分发单元。短帧处理单元用于设置直达应用的启动策略,并根据短帧通知消息解析出启动直达应用的条件。本实施例的技术方案中,不需要读取到NFC标签发送全部的数据就可以做到对数据进行快速处理,同时还可以避免因为射频的不稳定导致数据丢失,从而无法识别NFC标签的技术问题。
第五方面,还提供了一种基于NFC进行数据传输的电子设备(例如手机),该电子设备具有实现上述第二方面中的方法实际中电子设备行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件可以包括一个或多个与上述功能相对应的模块。
第六方面,还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机(例如手机、平板电脑等)上运行时,使得计算机执行上述第二方面方面中所述的方法。
应当理解的是,本申请中对技术特征、技术方案、有益效果或类似语言的描述并不是暗示在任意的单个实施例中可以实现所有的特点和优点。相反,可以理解的是对于特征或有益效果的描述意味着在一个或多个实施例中包括特定的技术特征、技术方案或有益效果。因此,本说明书中对于技术特征、技术方案或有益效果的描述并不一定是指相同的实施例。进而,还可以任何适当的方式组合本实施例中所描述的技术特征、技术方案和有益效果。本领域技术人员将会理解,无需特定实施例的一个或多个特定的技术特征、技术方案或有益效果即可实现实施例。在其他实施例中,还可在没有体现所有实施例的特定实施例中识别出额外的技术特征和有益效果。
附图说明
图1A是本申请一些实施例中NFC标签102与电子设备101的网络环境的示意图;
图1B是电子设备101与NFC读卡器102进行NFC通信的示意图;
图1C是NDEF消息的结构示意图;
图2是一些实施例中电子设备101的结构示意图;
图3是一些实施例中电子设备101的软件架构示意图;
图4是一些实施例中电子设备101的NFC通信模块400的结构示意图;
图5是一些实施例中NFC标签102的结构示意图;
图6是一些实施例中阻止列表的示意图;
图7A是一些实施例中白名单的示意图;
图7B是其他一些实施例中白名单的示意图;
图7C是另一些实施例中白名单的示意图;
图8A至8C是一些实施例中在电子设备101上显示的一些图形用户界面的示意图;
图9A和9B是另一些实施例中在电子设备101上显示的一些图形用户界面的示意图;
图9C是另一些实施例中电子设备101对NFC标签102的展示形式的示意图;
图10是一些实施例中对NFC标签102中的数据进行快速分发的方法的流程示意图;
图11A至11C是另一些实施例中在电子设备101上显示的一些图形用户界面的示意图;
图12是另外一些实施例中电子设备1200的结构示意图。
具体实施方式
以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请以下各实施例中,“至少一个”、“一个或多个”是指一个、两个或两个以上。术语“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
以下介绍了具备NFC功能的电子设备、用于这样的电子设备的用户界面、和用于使用这样的电子设备的实施例。在一些实施例中,电子设备可以是还包含其它功能诸如个人数字助理和/或音乐播放器功能的便携式电子设备,诸如手机、平板电脑、具备无线通讯功能的可穿戴电子设备(如智能手表)等。便携式电子设备的示例性实施例包括但不限于搭载
Figure BDA0003500809700000051
或者其它操作系统的便携式电子设备。上述便携式电子设备也可以是其它便携式电子设备,诸如膝上型计算机(Laptop)等。还应当理解的是,在其他一些实施例中,上述电子设备也可以不是便携式电子设备,而是台式计算机。
可以理解的是,为描述简便,以下实施例中如无特别说明,电子设备均指具备读/写模式(以下简称R/W模式)的NFC电子设备。下面将结合附图对本申请中各种实施例进行详细描述。
示例性地,如图1A所示,提供了一种通信系统100,该通信系统100可以包括电子设备101和NFC标签102。其中,电子设备101可以包括用于读取存储在NFC标签102中的数据的NFC通信模块(以下实施例中将详细描述该部件),上述NFC标签102可以通过NFC通信模块被感测。该NFC通信模块可以是任何适当的基于邻近的通信结构(communicationmechanism),其可在电子设备101和NFC标签102之间实现基于邻近的非接触式通信。该NFC通信模块可允许在较低数据速率(例如,42.4kbps)下进行近程通信,并可遵守任何适当的标准,诸如IS0/IEC 7816、IS0/IEC 18092、ECMA-340、IS0/IEC 21481、ECMA-352、IS0 14443和/或ISO 15693等标准。作为另外一种选择或除此之外,该NFC通信模块也可允许在较高数据速率(例如,560Mbps)下进行近程通信,并可遵守任何适当标准诸如Transfer JetTM协议。NFC通信模块和NFC标签102之间的通信可在电子设备101和NFC读卡器102之间的任何适当的近程距离内发生,诸如在大约2厘米到4厘米的范围内,并可在任何适当频率(例如,13.56MHz)下工作。例如,NFC通信模块的此类近程通信可经由磁场感应发生,这样NFC通信模块可以从具有射频识别(“RFID”)电路的NFC标签102中获取信息。在一些实施例中,电子设备101还可以包括用于读取并处理NFC标签102中的数据的一个或多个应用。
NFC标签102是无源设备,这意味着它可以在没有电源的情况下运行,并且在被激活之前依赖于有源设备例如电子设备101。作为有源设备的电子设备101被供电后产生射频场,一旦NFC标签102处于电子设备101的射频场范围内,NFC标签102产生与射频场相匹配的电流。在通过空气传输期间总是存在一些功率损失,但是在短距离内产生的电流足以为NFC标签102中的电路供电。当NFC标签102被上电后,它可以通过例如13.56MHz的NFC传输频率以106Kbit/s、212Kbit/s或者424Kbit/s的速率发送数据,例如NFC数据交换格式(NFC DataExchange Format,NDEF)的数据等。
示例性地,如图1B所示,NFC射频场(RF field)一般是由电子设备101发出的,可以选择106Kbit/s、212Kbit/s或者424Kbit/s其中一种作为传输速度与NFC标签102进行通信。NFC标签可以感应到电子设备101所发射出的射频场;具体地,电子设备101(例如手机、智能手表)的NFC天线(或线圈)是NFC读卡器102发射天线(或线圈)的负载,这样,NFC标签102通过改变天线回路的参数(比如谐振和失谐),使电子设备101被调制,从而使得NFC标签102可以相同的速度将数据传回到电子设备101,从而实现了以微弱的能量从NFC标签102到电子设备101的数据传输。
从NFC标签102发送的数据一般可以是通过NDEF消息携带的。如图1C所示,一个NDED消息包括一个或多个NDEF记录。NDEF记录是用来携带应用自定义的载荷的基本单元。一条NDEF记录可以封装任何类型的数据。一个NDEF记录包括头部(header)和载荷(payload),其中头部包括类型、长度和可选的标识符。类型记录该NDEF数据的各种类型,例如统一资源标识符(uniform resource identifier,URI),多用途互联网邮件扩展(multipurpose Internet mail extensions,MIME)(也可以称为互联网媒体类型),或者NFC特定(NFC-specific)的类型等。其中,MIME类型是给互联网上传输的内容赋予的分类类型,一份内容的MIME类型是由其文件格式与内容决定的。一个MIME类型至少包括两个部分:一个类型(type)和一个子类型(subtype)。此外,MIME类型还可以包括一个或多个可选参数。例如,一个MIME类型是text/plain,表示这个内容是纯文本;再例如,text/vcard表示这个内容是vCard格式的文本。NFC特定的类型在2006年NFC论坛的“NFC Record TypeDefinition(RTD)Specification”中有具体描述,在此不予赘述。
NFC标签102的标签类型可以有五种类型,以1至5来标识,各有不同的格式与容量。其中,第1类标签(Type 1 Tag)基于ISO/IEC 14443A标准,此类标签具有可读、重新写入的能力,该标签可以被配置为只读。其内存容量大小为96字节到2000字节,可以用来存储网址URL或其他数据。此类NFC标签的通信速度为106kbit/s。第2类标签(Type 2 Tag)也是基于ISO/IEC 14443A标准。其容量大小为96字节到2000字节,但可被扩充到2k字节。通信速度也是106kbit/s。第3类标签(Type 3 Tag)基于日本工业标准(Japanese IndustrialStandard,JIS)X 6319-4,其具有2000字节到1兆字节的内存容量,通讯速度为212kbit/s。第4类标签(Type 4 Tag)被定义为与ISO/IEC 14443A、B标准兼容;制造时被预先设定为可读/可重写、或者只读。内存容量可达32000字节,通信速度介于106kbit/s和424kbit/s之间。第5类标签(Type 5 Tag)基于ISO15693标准。
在一些实施例中,该通信系统100还可以包括应用服务器105。该应用服务器105用于通过一个或多个通信网络104与电子设备101(例如手机)上安装的应用(application,APP)进行通信,从而实现管理该应用所设置的一个或多个NFC模拟卡及其他数据等。示例性地,该应用服务器105可以是华为钱包服务器,其可以用来管理“华为钱包”这个应用内的各种业务类型的NFC模拟卡,例如用户可以在这个应用里添加或删除银行卡、门禁卡、健身卡或公交卡,对某张公交卡进行储值,对某张银行卡的金融信息进行修改等,用户在“华为钱包”里的上述操作均可以通过上述通信网络104与应用服务器105同步,从而实现应用服务器105对“华为钱包”这个应用的管理。在另一些实施例中,用户可以通过其他方式访问应用服务器105上存储的数据,进而配置NFC模拟卡,例如在浏览器中输入应用服务器105的web地址来访问,并进行上述操作。
在其他一些实施例中,该通信系统100还可以包括验证服务器106,其用于提供NFC交易的支付验证,并将验证结果通过通信网络104发送给NFC读卡器102。NFC读卡器102可以根据该验证结果,对电子设备102发送支付成功或支付失败的消息。在另一些实施例中,验证服务器106也可以在验证后,将支付成功或支付失败的消息通过通信网络104发送给电子设备101,然后电子设备101通过适当的方式提示用户(例如在显示屏上显示该消息,或发出振动或铃声);这样电子设备101可以通过例如移动蜂窝网络及时知道本次NFC交易的支付结果,以便该电子设备101的用户进行后续不同的处理。示例性地,在接收到支付失败的消息后,手机可以提示用户该消息,用户可以拿着手机先远离NFC读卡器102,然后再次靠近NFC读卡器102尝试再一次NFC支付。再例如,在接收到支付失败的消息后,电子设备101可以先在显示屏上提示用户,用户打开“华为钱包”这个应用,然后从中选择一张模拟卡,然后再一次靠近NFC读卡器102尝试再一次的NFC支付。
在其他一些实施例中,该通信系统100还可以包括特征服务器107,该特征服务器107用于维护特征数据库,例如应用标识符(application identifier,AID)数据库和/或tag特征数据库。其中,该特征服务器107可以通过通信网络104获取各种NFC标签的tag类型及能够处理该tag类型的应用模块的对应关系,并保存或更新到上述tag特征数据库中。作为另一种选择或者除此之外,该特征服务器107也可以通过上述通信网络104获取AID与能够处理该AID的应用模块的对应关系,并保存或更新到上述AID数据库中。电子设备101可以周期性地通过通信网络104向该特征服务器107发送更新或下载请求,将上述特征数据库保存在内部存储器121中,以便将检测到的NFC标签102进行更快速地处理。如果匹配到的APP并没有安装在该电子设备101中,可以发送请求消息给特征服务器107,由特征服务器107查找是否有对应的APP处理NFC标签中的数据。
在另外一些实施例中,该系统100还可以包括电子设备103(例如可穿戴设备)。示例性地,电子设备101可以通过上述通信网络104与电子设备103连接(例如有线或无线)。该通信网络104可以是局域网(local area networks,LAN),也可以是广域网(wide areanetworks,WAN)例如互联网。该通信网络104可使用任何已知的网络通信协议来实现,上述网络通信协议可以是各种有线或无线通信协议,诸如以太网、通用串行总线(universalserial bus,USB)、火线(FIREWIRE)、全球移动通讯系统(global system for mobilecommunications,GSM)、通用分组无线服务(general packet radio service,GPRS)、码分多址接入(code division multiple access,CDMA)、宽带码分多址(wideband codedivision multiple access,WCDMA),时分码分多址(time-division code divisionmultiple access,TD-SCDMA),长期演进(long term evolution,LTE)、蓝牙、无线保真(wireless fidelity,Wi-Fi)、NFC、基于互联网协议的语音通话(voice over Internetprotocol,VoIP)、支持网络切片架构的通信协议或任何其他合适的通信协议。示例性地,在一些实施例中,电子设备101可以通过蓝牙协议与电子设备103建立蓝牙连接。
在一些实施例中,电子设备103可以与NFC读卡器102之间实现基于邻近的非接触式通信。在另一些实施例中,电子设备103可以通过上述通信网络104(例如蓝牙)与电子设备101建立连接;在此情况下,电子设备103可以在电子设备101的授权下,与NFC读卡器102进行基于邻近的非接触式通信(例如NFC交易),并可以将交易结果或通信信息通过通信网络104发送给电子设备101,在电子设备101上显示上述交易结果或通信信息。
可以理解的是,在一些实施例中,上述电子设备101可执行单种功能(例如,专用于管理近场通信);而在其他一些实施例中,上述电子设备101可执行多种功能(例如,管理近场通信、播放音乐以及接听和/或拨打电话等)。示例性地,电子设备101的具体结构在后续实施例中将结合图2、图3进行详细描述;NFC读卡器102的具体结构在后续实施例中将结合图7进行详细描述。
示例性地,如图1A或1B所示的电子设备101可以为手机、平板电脑等,NFC标签102可以是例如配置在广告牌上的NFC智能海报,设置在会议室门上的智能标签或配置在商店的NFC支付终端等,电子设备103可以为可穿戴设备例如智能手表等。
示例性的,图2示出了图1A中的电子设备101(例如手机)的结构示意图。如图2所示,电子设备101可以包括处理器110,外部存储器接口120,内部存储器121,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等。可以理解的是,本实施例示意的结构并不构成对电子设备101的具体限定。在另一些实施例中,电子设备101可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件,或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的部件,也可以集成在一个或多个处理器中。在一些实施例中,电子设备101也可以包括一个或多个处理器110。其中,控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。在其他一些实施例中,处理器110中还可以设置存储器,用于存储指令和数据。示例性地,处理器110中的存储器可以为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。这样就避免了重复存取,减少了处理器110的等待时间,因而提高了电子设备101处理数据或执行指令的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路间(inter-integrated circuit,I2C)接口,集成电路间音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,SIM卡接口,和/或USB接口等。其中,USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备101充电,也可以用于电子设备101与外围设备之间传输数据。该USB接口130也可以用于连接耳机,通过耳机播放音频。
可以理解的是,本实施例示意的各部件间的接口连接关系,只是示意性说明,并不构成对电子设备101的结构限定。在另一些实施例中,电子设备101也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电子设备101的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。电子设备101中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备101上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括一个或多个滤波器,开关,功率放大器,低噪声放大器等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个部件中。
无线通信模块160可以提供应用在电子设备101上的包括无线局域网(wirelessLAN,WLAN),蓝牙,全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),NFC,红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成一个或多个通信处理模块的一个或多个部件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备101的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备101可以通过无线通信技术与网络以及其他电子设备通信。所述无线通信技术可以包括GSM,GPRS,CDMA,WCDMA,TD-SCDMA,LTE,GNSS,WLAN,NFC,FM,和/或IR技术等。上述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenithsatellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备101通过GPU,显示屏194,以及AP等可以实现显示功能。GPU为图像处理的微处理器,连接显示屏194和AP。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行指令以生成或改变显示信息。电子设备101可以通过ISP,一个或多个摄像头193,视频编解码器,GPU,一个或多个显示屏194以及AP等实现拍摄功能。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备101的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐、照片、视频等数据文件保存在外部存储卡中。
内部存储器121可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器110可以通过运行存储在内部存储器121的上述指令,从而使得电子设备101执行本申请一些实施例中所提供的基于NFC进行数据传输的方法,以及各种应用以及数据的处理等。示例性地,内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统;该存储程序区还可以存储一个或多个应用(比如图库、联系人等)等。存储数据区可存储电子设备101使用过程中所创建的数据(比如照片,联系人等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储部件,闪存部件,通用闪存存储器(universal flash storage,UFS)等。在一些实施例中,处理器110可以通过运行存储在内部存储器121的指令,和/或存储在设置于处理器110中的存储器的指令,来使得电子设备101执行本申请实施例中所提供的基于NFC进行数据传输的方法,以及其他应用及数据处理。
电子设备101可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及AP等实现音频功能。例如音乐播放,录音等。
传感器180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。其中,触摸传感器180K,也可称触控面板或触敏表面。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给AP,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备101的表面,与显示屏194所处的位置不同。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备101的接触和分离。电子设备101可以支持一个或多个SIM卡接口。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备101通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备101采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备101中,不能和电子设备101分离。
在一些实施例中,无线通信模块160具体可以用于与其他电子设备(例如其他手机,例如NFC标签102等)建立短距离无线通信链路,以便两者之间相互进行短距离无线数据传输。示例性地,上述短距离无线通信链路可以是蓝牙链路、Wi-Fi链路、NFC链路等。因此,无线通信模块160具体可以包括蓝牙通信模块、Wi-Fi通信模块或NFC通信模块。其中,NFC通信模块可包括用于在电子设备101和NFC标签102之间实现基于邻近的非接触式通信的任何适当部件,从而为电子设备101提供NFC读写功能。
示例性地,如图4所示,NFC通信模块400可以包括NFC控制器401、NFC收发器402、NFC存储器403和安全元件(secure element,SE)404。
其中,NFC控制器401与处理器110连接,NFC控制器401还分别与NFC收发器402和NFC存储器403连接,主要用于非接触通信信号的调制解调,控制NFC存储器403中数据的输入和输出,并与处理器110进行交互。在另一些实施例中,NFC控制器401也可以是实现上述功能的一种芯片。
NFC收发器402与NFC控制器401连接,用于实现13.56MHz射频信号的发送与接收,其可以包括电磁兼容性(electromagnetic compatibility,EMC)滤波电路、匹配电路、接收电路和NFC天线等,其中NFC天线可以是环形天线,用于实现NFC通信模块400的基于邻近的非接触式通信能力;在另一些实施例中,NFC天线也可以是图2中的天线2。
NFC存储器403可以用于存储各种模拟卡的信息,也可以存储由NFC通信模块400发送给NFC读卡器102的数据,以及从NFC读卡器102接收到的数据。在一些实施例中,NFC存储器403可以是一个存储器,该存储器可以被NFC通信模块400中以上各个部件共用,例如该存储器403中的一些数据可以被NFC控制器401调用,而另一些数据可以被SE 404调用。
在另一些实施例中,上述NFC存储器403还可以存储路由信息。示例性地,该路由信息可以由NFC控制器401控制或管理,该路由信息可以包括一个路由表,该路由表是由路由规则列表(a list of routing rules)组成的。其中,每个路由规则都包含一个应用标识信息(例如AID)和一个目的地(destination);该目的地可以是电子设备101的处理器110(也即与NFC相关的APP运行的地方),也可以是与NFC控制器401连接着的SE 404。在另一些实施例中,该路由信息还可以包括安全元件的标识符及安全元件的状态等。
NFC有线接口(NFC-wired interface,NFC-WI)是SE 404与NFC控制器401之间的一种示例性的连接方式,其用于两者之间的通信。在一些实施例中,SE 404通过该NFC-WI接口与NFC控制器401连接,SE 404的主要功能是应用和数据的安全存储,对外提供安全运算服务。SE 404还可以通过NFC控制器401与其他电子设备进行通信,实现数据存储及通信过程的安全性。
尽管已结合近场通信描述了NFC通信模块400,但应当理解,NFC通信模块400可被配置为在电子设备101和NFC读卡器102之间提供任何适当的基于邻近的非接触式移动支付或任何其他适当类型的基于邻近非接触的通信。例如,NFC通信模块400可被配置为提供任何适当的短程通信,诸如涉及电磁耦合技术/静电耦合技术的那些短程通信。
示例性地,图3为一些实施例中,电子设备101所具有的软件架构示意图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,可以将软件结构分为四层,如图3所示,从上至下分别为应用层,应用框架层,安卓运行时(Android runtime)和系统库,以及内核层。
其中,应用层包括一个或多个应用模块,例如应用或者软件功能模块。如图3所示,应用模块可以包括各种应用例如相机、地图、运动健康、华为钱包、深圳通等,或各种软件功能模块例如Wi-Fi、蓝牙等。其中,华为钱包可以是电子设备101(例如手机)在出厂之前安装在电子设备101中的原生应用,该华为钱包可以采用基于安全元件的虚拟卡方案来实现与NFC相关的功能。深圳通是用于管理深圳市公交卡的应用,可以对公交卡进行空中充值等。运动健康是用于呈现用户运动数据的应用,该应用可以通过处理NFC标签102中的数据快速地某一运动器械例如跑步机进行连接,以在电子设备中呈现该跑步机中的数据。
应用框架层可以包括窗口管理器,资源管理器,通知管理器以及NFC管理器(NfcManger)等。其中,NFC管理器(NfcManger),可以用来管理电子设备101中指出的所有NFC适配器。示例性地,函数NfcAdapter可以用于表示电子设备101的NFC通信模块400,NfcAdapter是应用访问NFC功能的接口,主要为获取一个NFC适配器的实例,可以使用getDefaultAapater()函数来获取系统支持的Adapter。另外,NFC管理器还用来作为数据传输接口,传输来自系统库中的NFC服务模块的数据到应用程序层中的与NFC相关的应用例如华为钱包、深圳通或运动健康等,也可以传输应用程序层中的应用的数据到NFC服务模块。
系统库中包括NFC服务模块,该NFC服务模块是NFC逻辑接口的实现模块,其主要运行一种NFC标签的分发机制及内容识别机制。该NFC服务模块具体用于将底层接收到的NFC标签中的数据进行解析、处理,然后按照上述分发机制和/或内容识别机制,对不同类型的数据分发到不同的应用;具体实现方案请见以下实施例中的描述。
示例性地,图5为一些实施例中的NFC标签102的结构示意图。该NFC标签102包括,NFC射频电路501、NFC存储器502和NFC数字逻辑电路503。其中,NFC射频电路501用于从电磁场捕获电能并通过解调或调制电磁场进行收发通信。NFC存储器502用于存储作为载荷的数据的非易失性存储器,示例性地,在一些实施例中,该NFC存储器502可以是带电可擦除可编程只读存储器(electrically erasable programmable read only memory,EEPROM)。示例性地,该NFC存储器502中存储量NDEF格式的数据。NFC数字逻辑电路503用于根据NFC相关标准对数据进行处理,并控制NFC存储器502的读写操作。
可以理解的是,以下实施例均可以在上述包括电子设备101和NFC读卡器102的通信系统100中实现。
当电子设备101靠近NFC标签102时,NFC标签102可以感应到电子设备101所发射出的射频场;NFC标签102被供电后,以微弱的能量将携带有数据的消息传到电子设备101中。如果电子设备101支持R/W模式并且已经开启该模式,则电子设备101可以读取到该消息中的数据。在一些实施例中,电子设备101可以在解锁屏幕后自动启动R/W模式。
在本申请一些实施例中,当电子设备101检测到NFC标签102时,响应于该检测,电子设备102可以先确定该NFC标签102是否在阻止列表中,该阻止列表也可以看成是一个黑名单。通过本实施例的技术方案,电子设备101可以主动屏蔽掉一些无效的、恶意的或者数据不安全的NFC标签,这样就避免了电子设备101例如手机读取该NFC标签中的上述数据后,相关APP对该数据进行处理时的危险操作,例如隐私泄露、在APP中植入病毒等。上述阻止列表可以存储在内部存储器121中,该阻止列表中可以包括电子设备101默认的或者用户手动设置的NFC标签或NFC功能。示例性地,图6为阻止列表的一种表现形式。当电子设备101检测到NFC标签102时,可以确定上述阻止列表中有没有NFC标签102,如果有,则电子设备101不执行NFC标签102的识别或不读取NFC标签102中的数据。这样就阻止了电子设备101中与NFC相应的APP来处理NFC标签的数据,提高了电子设备101的数据安全性。在另一个实施例中,当电子设备101检测到NFC标签102时,如果确定出该NFC标签102不在上述阻止列表中,但是该NFC标签102需要调用电子设备101中的某项NFC功能或者NFC服务时(例如NFC模拟卡支付功能等),电子设备101可以进一步确认这项NFC功能是否在阻止列表中;如果这项NFC功能在阻止列表中,则电子设备101不执行调用这项NFC功能。这样就进一步避免了恶意的NFC标签对电子设备的NFC功能随意地调用,从而进一步提高了电子设备的数据安全。
在其他一些实施例中,如果电子设备101确定NFC标签102不在上述阻止列表中,则电子设备101可以对该NFC标签102回传的携带数据的消息进行后续处理,在以下实施例中有详细描述。
可以理解的是,在本申请另一些实施例中,电子设备101也可以不执行对NFC标签102进行识别的上述技术方案,而是被动接收上述NFC标签102回传的携带数据的消息。这样,在电子设备101接收到该消息后,可以更快速地对该消息进行解析,确定该消息中是否包含由NDEF格式封装的数据(以下可以简称NDEF数据)。如果该消息中包含NDEF数据,则电子设备101通过解析该消息获取该NDEF数据的MIME类型。一般来说,通过NDEF数据的MIME类型就可以确定NDEF数据是什么内容的数据。在一些实施例中,上述由NFC标签102回传到电子设备101上的消息具体可以是NDEF消息。
常见的MIME类型可以包括超文本标记语言文本(text/html)、普通文本(text/plain)、XML文档(text/xml)、GIF图像(image/gif)、vCard(text/vcard)、vCalendar(text/calendar)、MP4(video/mp4)、Email(application/vnd.omads-email+xml)、Wi-Fi(application/vnd.wfa.wsc)、Bluetooth(application/vnd.bluetooth.ep.oob)等。上述括号里面的内容是在IANA注册的MIME类型的字符串。示例性地,如果MIME类型是Wi-Fi(application/vnd.wfa.wsc),该NDEF数据是Wi-Fi配置参数例如SSID、密码或其他配置参数等;电子设备101读取到该NDEF数据后,可以在显示屏194上弹出通知栏,该通知栏用于提示用户是否使用NFC标签102中的上述Wi-Fi配置参数来连接该Wi-Fi网络。示例性地,如果MIME类型是蓝牙(application/vnd.bluetooth.ep.oob),该NDEF数据是蓝牙配置参数例如另一电子设备的蓝牙地址和/或其他参数等,则电子设备101在读取到该NDEF数据后,可以在显示屏194上弹出通知栏,该通知栏用于提示用户是否使用NFC标签102中的上述蓝牙配置参数来与上述另一电子设备进行蓝牙连接。可以理解的是,在本申请实施例中,通知栏可以是任何形式的,例如浮动通知栏、锁屏通知栏或下拉通知栏等。
在确定了上述NDEF数据的MIME类型后,电子设备101可以根据在内部存储器121存储的MIME类型与应用模块的对应关系(或称为映射表),确定处理该NDEF数据的应用模块,该应用模块可以是指具有一个或一个以上功能的软件模块,包括各种APP(例如支付宝、联系人等)或软件功能模块(例如Wi-Fi模块、蓝牙模块等)。然后,电子设备101将该NDEF数据自动分发给该确定的应用模块例如APP,由该应用模块对该NDEF数据进行处理。具体处理的方式可以根据应用模块的特点来进行。上述对应关系可以看成是一个白名单,该白名单中的应用模块被允许可以对与其对应的MIME类型的NDEF数据进行处理。也就是说,当电子设备101确定了MIME类型后,与其对应的应用模块例如APP可以快速地对该NDEF数据进行处理。这种通过靠近(例如碰一碰)NFC标签102而快速启动相应的应用模块对该NFC标签102中的数据进行处理的技术方案,我们称之为“一碰直达”。可以理解的是,“一碰直达”只是本申请实施例中所使用的一个词语,其代表的含义在实施例中已经记载,其名称并不能对本申请实施例中的相关技术方案构成任何限制;在其他一些实施例中,“一碰直达”也可以被称为其他名字例如“快捷直达”、“一碰即达”等。另外,由于NFC标签102的数据可以在上述白名单中的APP中快速地处理(“一碰直达”),因此,上述白名单中的APP也可以被称为直达应用,软件功能模块可以被称为直达功能。可以理解的是,“直达应用”、“直达功能”只是本申请实施例中所使用的词语,其代表的含义在实施例中已经记载,其名称并不能对本申请实施例中的相关技术方案构成任何限制。在另一些实施例中,直达应用也可以是指那些虽然不在上述白名单中,但是通过其他技术方案也能快速处理NFC标签102中数据的应用。示例性地,图7A中所示的映射表可以看成是MIME类型与应用模块的对应关系(也可称为第一白名单)。当确定MIME类型后,电子设备101可以根据上述对应关系确定应该使用哪个APP或软件功能模块来处理上述NDEF数据。例如,如果电子设备101接收到由NFC标签102发送的NDEF数据的MIME类型是text/vcard,则电子设备根据图7中的对应关系,确定对应的应用模块是联系人APP(也可称为通讯录)。那么,电子设备101启动该联系人APP,可以将上述MIME类型是text/vcard的NDEF数据在该联系人APP中处理,例如在该联系人APP的相关用户界面中显示vCard格式中联系人的具体信息:姓名、公司、电话号码、Email地址等,并可以进一步在该GUI中提示用户是否对该联系人进行后续操作例如添加到现有联系人、新建联系人等。
可以理解的是,上述白名单可以是动态更新的;例如,当电子设备101在安装新的APP时,该APP可以请求该电子设备101注册白名单。在电子设备101确定该APP与当前的白名单中的APP无冲突时,该APP及其申明的可处理的MIME类型被记录到上述当前的白名单中,此时,白名单被更新。示例性地,以具有
Figure BDA0003500809700000142
系统的电子设备101为例进行说明。当电子设备101检测到一个NFC标签时,
Figure BDA0003500809700000143
系统自动创建一个相关的Intent对象,含有相应intent filter的Activity将处理这个Intent。其中,intent filter在AndroidManifest.xml中的申明如下:
Figure BDA0003500809700000141
上述申明表明,该APP申请注册能够读取NFC标签中MIME类型为JPEG格式的图像(image/jpeg)的NDEF数据。当确定该APP的包名与已注册到白名单中的APP的包名不冲突时(例如该APP的包名不在白名单中),则电子设备101可以更新如图7A所示的白名单,也即将上述APP及对应的MIME类型(image/jpeg)添加到白名单中。
在其他一些实施例中,电子设备101基于一特定的设置,可以只对在上述对应关系中的MIME类型的NDEF数据进行处理,而电子设备101对读取到的不是上述对应关系中MIME类型的NDEF数据不做处理。这样既能自动地、快速地对常见MIME类型的数据进行处理,也能避免其他不常见MIME类型的NFC标签的干扰。
可以理解的是,在其他一些实施例中,上述对应关系中的APP也可以认为是处理上述MIME类型的上述NDEF数据优先级最高的APP,也就是说,其他APP虽然也能处理图7中的MIME类型,但是由于优先级没有图7A中APP的高,所以在实际操作中该APP不会去处理NFC标签102中的数据。例如,电子设备101读取到NFC标签102中的NDEF数据后,确定出该数据的MIME类型是text/calendar,而其安装的APP中日历和谷歌日历均可以处理该MIME类型。这时,由于原生应用日历在图7A中的映射表中,因此电子设备101确定由日历APP处理该NDEF数据,而谷歌日历APP无法读取到该MIME类型的NDEF数据。
在另一些实施例中,如果电子设备101确定上述NDEF数据的MIME类型与上述对应关系中的应用模块不匹配,则电子设备101可以进一步根据该MIME类型找到处理该数据的合适的应用模块。示例性地,当电子设备101确定上述NDEF数据的MIME类型不在上述白名单中,或者虽然在上述白名单中但是其对应的应用模块处理失败时,电子设备101可以根据标签分发业务来处理该NDEF数据。
在另一些实施例中,电子设备101靠近NFC标签102后,获取到NFC标签102发送的消息,然后根据消息中数据的MIME类型,确定出有两个或两个以上的APP都支持对该数据进行处理。为了使上述消息中的数据被快速处理,电子设备101可以从中选出优先级最高的APP来处理,这样就不用让用户再去手动选择一个APP来处理,提高了对NFC标签102中的数据进行处理的速度,也提高了用户体验。
在另一些实施例中,上述NDEF数据中的MIME类型也可以是电子设备101自定义的符合特定格式的字符串,比如MIME类型的格式可以是如下:
huawei.direct/packagename-action
其中,huawei.direct是MIME类型的名称;packagename是子类型(subtype)的名称,也即APP的包名;action为该APP自定义的动作,为可选项。示例性地,例如MIME类型可以是:huawei.direct/com.huawei.wallet-sendsms。该APP可以在AndroidManifest.xml文件中申明,该申明表明华为钱包这个APP申请注册处理MIME类型为“huawei.direct/com.huawei.wallet-sendsms”的NDEF数据。可以理解的是,由于上述MIME类型并不是在IANA机构注册的媒体类型,因此,也可以把上述特定格式的MIME类型看成是电子设备101自定义的媒体类型,该独特结构的媒体类型可以使得电子设备的数据更加安全,不会轻易被其他电子设备识别到该媒体类型的数据。
在一些实施例中,当电子设备101在安装新的APP时,该APP可以向电子设备101的操作系统请求注册处理的MIME类型。电子设备101的操作系统可以先判断MIME类型中的包名(com.huawei.wallet)是否与申请注册的该APP的包名是否一致。如果包名不一致,表明是一个恶意APP去申请注册其他APP的相关权限,这时电子设备101可以禁止该恶意APP进行注册,这样就避免在现有技术中一些恶意的APP去申请注册其他APP的相关权限导致隐私泄露的问题。如果包名一致,则电子设备101再确定该MIME类型是否已经被注册,如果没有的话,则该操作系统可以允许该APP注册该MIME类型。在上述技术方案中,由于注册的MIME类型是唯一的,每个注册的MIME类型对应的包名与其也是一致的,这样就能避免恶意的APP伪装成其他APP去申请处理NDEF数据的技术问题,提高了电子设备的安全性。
在其他一些实施例中,电子设备101还可以进一步将该MIME类型添加到白名单中。这样可以保持白名单的不断更新,使得电子设备能对不同MIME类型的NFC标签快速进行不同处理。
可以理解的是,电子设备101可以将符合上述特定格式的MIME类型作为白名单中的MIME类型。也就是说,如果确定了NFC标签102回传的NDEF数据是符合上述特定格式的MIME类型,则电子设备101自动将该NDEF数据分发给其对应的APP或软件功能模块来处理。示例性地,电子设备101可以在AndroidManifest.xml文件中的activity中定义上述白名单。
示例性地,图7B为一些实施例中,上述MIME类型与应用模块之间的对应关系(也即白名单)的另一种示例。从中可以看出,该表中的MIME类型并不是常见的MIME类型,而是符合特定格式的,因此,在NFC标签102中数据的MIME类型是符合上述特定格式的MIME类型的情况下,电子设备101能够非常快速地识别该NFC标签102并快速处理其中的NDEF数据;示例性地,一台跑步机上贴有NFC标签102,用户拿着手机(电子设备101的一种示例)靠近该NFC标签102后,电子设备发现上述运动健康APP可以处理该NFC标签102,则手机启动运动健康APP,并在显示屏194上显示该APP的相关用户界面;该用户界面用于处理NFC标签102中的数据,例如如果数据是蓝牙配置参数,则电子设备将运动健康APP通过蓝牙自动连接到该跑步机。
可以理解的是,由于在MIME类型中已包括应用的包名,因此在其他一些实施例中,电子设备101所存储的白名单可以是如图7C所示的MIME类型列表。电子设备101在检测到NFC标签102后,先确定MIME类型是否在白名单中,如果在,则根据该MIME类型中所包括的包名来确定与该包名对应的应用模块(APP或者软件功能模块);然后将NFC标签102传的NDEF数据自动分发给该确定的应用模块来处理。
可以理解的是,在另一些实施例中,可以将图7A中的白名单称为第二白名单,将图7B或7C中的白名单称为第一白名单。这两个白名单的主要区别在于MIME类型是否是自定义的特定格式的。第二白名单中的MIME类型是现有技术中在IANA注册的MIME类型,而不是自定义的特定格式的;也就是说,此类MIME类型能被其他电子设备自动识别出,因为其MIME类型的结构是经注册并公布的。第一白名单中的MIME类型是自定义的符合特定格式的,未在IANA注册的MIME类型;也就是说,此类MIME类型无法被其他电子设备自动识别出。由于第一白名单中的MIME类型是自定义的符合特定格式的MIME类型,因此,电子设备101可以将该第一白名单确认为优先级最高的白名单,而第二白名单为优先级次之的白名单。由此,在另一些实施例中,如果电子设备101确定上述消息中的NDEF数据的MIME类型在上述第一白名单(如图7B或7C所示),则确定与第一白名单中的MIME类型对应的应用模块,将NDEF数据分发给该应用模块进行处理。如果NDEF数据的MIME类型不在上述第一白名单中,则电子设备101可以进一步确认该MIME类型是否在上述第二白名单中。如果电子设备101确定该MIME类型在上述第二白名单中,则将NDEF数据自动分发给对应的应用模块进行处理。上述技术方案既保证了在读取到NFC标签的NDEF数据后电子设备能快速处理该数据,也能提高用户体验。
在另一些实施例中,在电子设备101中可以只存储第一白名单,而不存储第二白名单。那么,在电子设备101确定上述消息中NDEF数据的MIME类型不在第一白名单时,电子设备101可以根据现有技术中对NDEF数据的处理规则来处理该MIME类型的NDEF数据。例如,如果电子设备101判断出该MIME类型是纯文本(text/plain),则电子设备101自动分发给注册的能处理该MIME类型的APP,由该APP对NDEF数据进行处理。如果能处理该MIME类型的APP有两个或两个以上,则可以在电子设备101的显示屏194上显示提示信息,提示用户选择需要处理该NDEF数据的APP。在检测到用户的选择操作(例如点击、重压等)后,响应于该选择操作,电子设备101可以确定处理该NDEF数据的APP,也即用户的选择操作所选择的APP。
在另一些实施例中,电子设备101接收到NFC标签102回传的携带数据的消息后,如果确定该消息中不包含由NDEF格式封装的数据(即NDEF数据),则电子设备101可以对该数据进行特征识别,该特征识别可以包括AID特征识别和/或TAG特征识别。示例性地,电子设备101可以使用向NFC标签102发送请求信息,以便获取上述特征,再在特征数据库进行特征匹配,如果匹配成功,则将上述数据分发给相应的APP。
示例性地,当上述数据不是NDEF数据或者虽然是NDEF数据但是没有无应用模块可以处理该NDEF数据时,电子设备101可以向NFC标签102发送请求信息,该请求信息用于向NFC标签101请求获取TAG特征信息,例如该NFC标签102的AID和/或tag类型。其中,AID可以用来唯一标识该NFC标签102,tag类型用来标识NFC标签102的tag类型例如TECHNOLOGY类型或TAG类型。示例性地,上述请求信息可以是通过应用协议数据单元(applicationprotocol data unit,APDU)发送命令来携带。APDU发送命令包括标头(header)和主体(body);标头包括类(class,CLA),指令(instruction,INS),指令参数1(P1)和指令参数2(P2)这四个字段。其中,CLA字段主要用于指示命令的类别,例如行业间命令或专有命令等。APDU发送命令的主体可以包括Lc字段、命令数据字段(command data field)和Le字段。其中,Lc字段指示APDU发送命令中携带的数据字段的字节数(Nc);数据字段包括长度为Nc字节的数据;Le字段指示预期响应数据的最大字节数(Ne)。本领域技术人员可以理解,APDU命令的具体结构及定义在与NFC相关的标准中有详细说明,在此不予赘述。在一些实施例中,上述请求信息可以携带在APDU发送命令中的命令数据字段。
NFC标签102在接收到上述请求信息后,响应于该请求信息,NFC标签102可以发送响应信息,该响应信息中携带了TAG特征信息例如AID和/或tag类型。示例性地,上述响应信息可以通过APDU响应命令来携带。APDU响应命令可以包括主体即响应数据字段(responsedata field)和响应尾标(response trailer)。其中,响应数据字段为可选字段,可以包含电子设备101所返回的数据。响应尾标包括SW1和SW2,用于指示命令处理的状态。在一些实施例中,上述响应信息可以携带在响应数据字段中。
在接收到NFC标签102发送的响应信息后,电子设备101确定该NFC标签102是哪种类型。如果确定出该NFC标签102是Technology类型,则电子设备101进一步确定是否有与Technology类型对应的应用模块(例如APP或功能模块)。具体地,电子设备101将该Technology类型与特征数据库中存储的类型与应用模块进行特征匹配。如果匹配到与Technology类型对应的应用模块(也即电子设备101确定有对应的应用模块),则电子设备101可以将上述非NDEF数据自动分发给该应用模块例如APP进行处理。在其他一些实施例中,对应的应用模块可以是两个或两个以上的APP,则电子设备101在显示屏194上显示应用列表提示给用户,该应用列表中即为上述两个或两个以上的APP。这样,用户可以点击上述应用列表中的某个APP(例如第一APP),响应于上述点击操作,电子设备101确定处理上述非NDEF数据的APP为第一APP,并启动该第一APP。在另一些实施例中,电子设备101也可以先在显示屏194上显示NFC标签102的基本信息例如tag类型、数据大小等,同时提示用户是否对该NFC标签102进行处理;当检测到用户需要处理该NFC标签时,电子设备101再在显示屏194中显示上述应用列表给用户。当检测到用户不需要处理该NFC标签102时,电子设备不显示上述应用列表,并返回到主屏幕(即显示一个或多个应用图标的界面)或之前显示的图形用户界面例如其他APP的主界面。
在其他一些实施例中,在电子设备101确定是否有与确定的tag类型对应的应用模块的过程中,电子设备101可以在内部存储器121中存储的特征数据库中进行匹配。如果匹配到相应的APP,则电子设备101将数据分发给该APP处理。可以理解的是,在另一些实施例中,上述特征数据库可以是由网络侧的特征服务器107维护的,上述特征数据库可以包括AID数据库和/或tag特征数据库。其中,该特征服务器107可以通过通信网络104获取tag类型及能够处理该tag类型的应用模块的对应关系,并更新到上述tag特征数据库中;该特征服务器107也可以通过上述通信网络104获取AID与能够处理该AID的应用模块的对应关系,并更新到上述AID数据库中。电子设备101可以周期性地通过通信网络104向该特征服务器107发送更新或下载请求,将上述特征数据库保存在内部存储器121中,以便将检测到的NFC标签102进行更快速地处理。如果匹配到的APP并没有安装在该电子设备101中,则电子设备101还可以自动在后台下载并安装该APP,然后再启动该APP对数据进行处理,这样就进一步提高了处理NFC标签102中的数据的效率,也进一步提高了电子设备对NFC标签“一碰直达”的成功率。在另一些实施例中,如果匹配到的APP是多个,那么可以提供APP列表供用户进行选择,该APP列表可以根据用户使用习惯(例如使用频率等)来排列,示例性地,用户使用最频繁的APP可以排在该列表的第一位,而最不常用的APP被排在最后一位。可以理解的是,在其他一些实施例中,上述匹配到的APP也可以是指能够处理该tag类型数据的APP,该APP并不一定就是电子设备101中所安装的APP,还可以包括未安装在该电子设备101上但是已知的能够处理该tag类型数据的APP。
示例性地,如图8A所示,在显示屏194上显示一GUI 801,该GUI 801中可以包括状态栏,该状态栏上显示了蜂窝网络信号、Wi-Fi、电量或时间等信息,还包括日期widget和天气widget;另外,该GUI 801还包括一提示信息802,该提示信息用于提示用户检测到的NFC标签102的tag类型为公交卡,并提示用户在APP列表803中选择合适的APP。在图8A中所显示的APP列表803中的APP分别是:深圳通、华为钱包、小王子和交通银行。其中,该APP列表的第一排显示了深圳通这个应用的APP图标和名称,还显示了一个标识804;该标识804表示深圳通这个APP虽然能够处理该公交卡,但是其并没有被安装在电子设备101上。基于在显示屏194上显示的上述GUI 801,用户可以针对APP列表中的深圳通进行选择操作;响应于检测到上述选择操作,电子设备101的显示屏194上可以显示如图8B所示的GUI 805。该GUI 805中包括一提示框806,其用于提示用户是否下载深圳通。当接收到用户选择“下载应用”的操作后,响应于该操作,电子设备101可以在应用市场下载该应用并在后台安装。安装完毕后,电子设备101可以启动该应用并在显示屏194上显示如图8C所示的GUI 807,该GUI 807用于为这张检测到的公交卡充值。可以理解的是,在另一些实施例中,当用户针对图8A中APP列表的深圳通进行上述选择操作后,响应于检测到的该选择操作,电子设备可以在后台下载并安装深圳通,因此不用显示图8B所示的GUI 805,而在安装完成后自动启动深圳通APP并显示图8C所示的GUI 807上。这样能够更加快速地将NFC标签102的数据进行处理,从而进一步提高了用户体验。在一些实施例中,当用户使用选择的APP对上述数据处理完成后,可以返回到主屏幕或之前显示的图形用户界面例如其他APP的主界面。在另一些实施例中,如果电子设备101确定了tag类型,则电子设备101可以进一步根据获取到的NFC标签102的AID来确定对应的APP。示例性地,电子设备101中的NFC存储器403存储了路由信息,电子设备101可以根据获取到的AID在该路由信息中查找对应的APP。
在另一些实施例中,上述实施例中所提到的APP列表,电子设备101可以根据用户从该APP列表中选择APP的历史记录,来自动调整该APP列表内的APP的顺序。例如用户选择深圳通APP的频率最高,则电子设备101在下一次展示该APP列表时,可以将深圳通APP显示在该APP列表的最上方或者用户的手指最容易触摸到的位置,这样可以方便用户进行选择。提高了用户体验。
在另一些实施例中,如果在接收到NFC标签102发送的上述响应信息后,电子设备101无法确定该NFC标签102是哪种TAG类型,则可以在显示屏194中弹出提示框提示用户是否处理检测到的该NFC标签102。示例性地,如图9A所示,在电子设备101无法确定NFC标签102中的数据时,可以在显示屏194上显示一GUI 901;在该GUI 901中,由于电子设备101无法识别该NFC标签102的tag类型,电子设备101无法向用户推荐APP列表,更无法快速启动相关APP处理该NFC标签102中的数据,但是电子设备依然可以在GUI 901中显示一提示信息903,该提示信息903用于提示用户是否启动相关的APP来试着处理该NFC标签。该GUI901还可以包括控件904和控件905;其中,控件904表明用户可以取消对该NFC标签的处理,控件905表明电子设备101可以接收用户的输入操作来提供APP供用户选择。示例性地,当检测到用户针对控件905的操作(例如点击)后,响应于该操作,电子设备101的显示屏194上可以显示提示框906,该提示框906中显示了用户常用的与NFC功能相关的一个或多个APP,例如华为钱包、小王子、交通银行等。当用户对提示框906中的华为钱包做选择操作时,响应于该选择操作,电子设备101确定将NFC标签102中的数据分发给华为钱包来处理。示例性地,图9C中示出了在电子设备101识别了上述非NDEF数据的NFC标签102后,对不同的NFC标签102做不同处理的示意图。例如,当识别到该NFC标签102是一张北京公交卡时,电子设备101可以在通知栏显示标题为“发现北京公交卡”的通知,该通知的内容可以是“选择应用处理北京公交卡”,当用户点击该通知的内容时,电子设备显示应用列表“应用4、应用5”。再例如,当检测到NFC标签102是深圳公交卡时,当用户点击通知的内容“选择应用处理深圳公交卡”后,可以在显示屏194上显示应用列表“应用4”;可以理解的是,由于只有应用4与深圳公交卡对应,因此,在用户点击上述通知的内容后,电子设备101可以显示应用4的相关用户界面来处理该NFC标签102,而不用先显示只有一个应用4的应用列表。
可以理解的是,在另一些实施例中,在检测到NFC标签102的数据时,如果电子设备101的显示屏194上显示了某个APP的GUI(也即前台有APP正在运行),则电子设备101可以先确定该APP是否能处理上述数据。如果前台运行的APP可以处理上述数据,则电子设备101将上述数据分发给该APP进行处理;如果电子设备101确定该前台运行的APP不能处理该数据时,则再确定上述数据是否是NDEF数据。也就是说,前台运行的该APP有优先于其他应用模块处理上述数据的权限,而不论其他应用模块是否在上述白名单中;当确定该APP无法处理时,电子设备101才进一步确定上述数据是否是NDEF数据。这样可以保证正在前台运行的APP能够快速处理NFC标签中的数据,提高了电子设备处理NFC标签中的数据的效率,也提高了用户体验。
基于上述实施例,本实施例提供一种快速分发NFC标签102中的数据的方法,如图10所示,该方法可以在上述电子设备101中实现,该方法可以包括:
步骤S1001:电子设备101接收NFC标签102发送的数据。
步骤S1002:电子设备101确定接收到的上述数据的格式是否是NDEF格式,也即判断上述数据是否为NDEF数据。如果上述数据是NDEF数据,则电子设备101执行步骤S1003,如果上述数据不是NDEF数据,则电子设备101执行步骤。
步骤S1003:当确定上述数据是NDEF数据时,电子设备101确定NDEF数据的MIME类型。
步骤S1004:电子设备101确定上述MIME类型是否在MIME类型与应用模块的对应关系(也即第一白名单)中,也即电子设备101确定上述MIME类型是否与上述白名单中的应用模块匹配。在一些实施例中,上述第一白名单可以是如图7B或7C所示的形式,其中MIME类型是自定义的特定格式的。
步骤S1005:如果确定上述MIME类型在上述第一白名单中(也即确定上述MIME类型能匹配到对应的应用模块),则电子设备101将上述NDEF数据自动分发给与该MIME类型对应的应用模块例如APP去处理。这样,电子设备就可以快速对NDEF数据进行处理了。
步骤S1006:如果确定上述MIME类型不在上述第一白名单中,则电子设备101根据该MIME类型确定能够处理该MIME类型的NDEF数据的应用模块,例如APP或者软件功能模块(例如Wi-Fi模块、蓝牙模块等)。可以理解的是,本步骤中的应用模块可以是指注册处理常见MIME类型的NDEF数据的APP或者软件功能模块。在另一些实施例中,电子设备101可以根据第二白名单(如图7A所示)和上述MIME类型来确定应用模块。
步骤S1007:当上述匹配到的应用模块是一个时,电子设备101将上述NDEF数据分发给该应用模块进行处理。
步骤S1008:当上述匹配到的应用模块是多个时,电子设备101提示用户从中选择一个应用模块。
步骤S1009:接收用户的选择操作,该选择操作为用户从上述多个应用模块中选择一个。
步骤S1010:响应于上述选择操作,电子设备101确定处理上述NDEF数据的应用模块。
步骤S1011:电子设备101将上述NDEF数据分发给确定的上述应用模块处理。
在本实施例中,通过设置第一白名单,电子设备101可以快速地识别并启动相关应用模块来处理NFC标签102传送的数据,提高了电子设备101与NFC标签102进行数据交互的效率,从而达到“一碰直达”的使用效果,提高了用户体验。
在另一些实施例中,当确定上述MIME类型不在上述第一白名单中,电子设备101可以再次判断上述MIME类型是否在第二白名单中。如果上述MIME类型在该第二白名单中,则将上述数据分发给对应的应用模块;如果上述MIME类型不在该第二白名单中,则电子设备101再执行步骤S1006或者执行以下实施例中的步骤S1012至步骤S1016。
在另一些实施例中,上述方法还可以包括:
步骤S1012:当确定上述数据不是NDEF数据时,电子设备101可以向NFC标签102发送请求信息,该请求信息用于向NFC标签101请求获取特征信息,例如该NFC标签102的AID和/或tag类型。示例性地,上述请求信息可以携带在APDU发送命令中的命令数据字段。
步骤S1013:电子设备101接收NFC标签102发送的响应信息。该响应信息中携带了特征信息例如AID和/或tag类型。示例性地,上述响应信息可以携带在APDU响应命令中的响应数据字段。
步骤S1014:电子设备101确定根据响应信息中的上述特征信息能否识别NFC标签102,也即能通过解析上述数据的内容来识别不同的NFC标签102。示例性地,如果该特征信息包括AID,则电子设备101可以在上述AID特征数据库中查找是否有匹配的APP。如果有匹配的APP,则电子设备101将上述数据分发给该APP进行处理。如果该特征信息中包括tag类型例如Technology类型,则电子设备101可以在上述tag类型数据库中查找相应APP。
步骤S1015:如果能够识别NFC标签102,则电子设备101根据解析到的数据内容向用户推荐APP。示例性地,电子设备101可以在显示屏194上显示推荐APP的应用列表。在另一些实施例中,电子设备101可以先提示用户是否处理识别到的NFC标签102(例如公交卡),如果用户确认要处理,则再向用户推荐APP(例如能够处理公交卡的APP)。示例性地,电子设备101读取到NFC标签102中的上述数据后,解析数据中的内容并确定tag类型为Technology类型中的公交卡;然后,电子设备101提示用户是否处理该公交卡;当用户点击处理该公家卡后,电子设备101提示APP列表给用户,由用户从中选择一个APP进行处理。该APP列表可以是如图8A中的列表803。
步骤S1016:如果不能识别NFC标签102,也即电子设备解析上述数据后无法识别该数据的tag类型,则电子设备101提示用户是否选择APP来试着处理该数据;示例性地,如图9A和9B所示。
在上述步骤S1012至步骤S1016所示的实施例中,电子设备101通过解析接收到的上述数据(也即非NDEF格式的数据)的内容来识别不同类型的NFC标签,进而匹配到合适的应用模块来处理该数据,这样能进一步地对NFC标签102中的数据进行不同处理。
在另一些实施例中,为了防止陌生人(不是电子设备101的用户)恶意读取NFC标签102,进一步保证电子设备101的安全性,电子设备101可以在上述步骤S1005之前、步骤S1004之后执行以下步骤:
步骤S1017:电子设备101采集生物特征信息。示例性地,电子设备101可以通过上述一个或多个传感器180采集各种生物特征信息例如声纹、指纹、人脸、虹膜等。
步骤S1018:电子设备101验证上述生物特征信息。示例性地,电子设备101可以将采集到的上述生物特征信息与存储的用户生物特征信息进行匹配。
步骤S1019:当电子设备101对采集的生物特征信息验证成功后,电子设备101再执行步骤S1005,也即将NDEF数据分发给对应的应用模块。
可以理解的是,在另一些实施例中,电子设备101也可以在步骤S1001之后、步骤S1002之前,执行上述步骤S1017至步骤S1019。这样,只有在生物特征信息验证通过后,电子设备101才可以对读取到的数据进行处理,这样就保护了用户的数据隐私,避免陌生人拿到电子设备101后恶意进行NFC标签的处理。
在另一些实施例中,在步骤S1001之后、步骤S1002之前,该方法还可以包括:
步骤S1020:电子设备101确定前台是否有APP正在运行。
步骤S1021:如果确定有正在前台运行的APP,则电子设备101将在步骤S1001中接收到的数据分发给在前台运行的APP进行处理。
示例性地,该APP的某一用户界面显示在显示屏194上,可以认为这APP是在前台运行的应用。也就是说,在前台运行的APP有处理上述数据的优先权。
可以理解的是,在电子设备101的显示屏194上显示如图11A中的GUI 1100是主屏幕(home screen),可以认为此时没有APP在前台运行。当检测到用户针对图标1101的选择操作后,响应于该选择操作,在显示屏194上显示如图11B所示的短信的一GUI 1102;此时可以认为短信这个APP在前台运行,也即短信是正在前台运行的APP。在该GUI 1102保持在前台显示的情况下,电子设备101读取到NFC标签102的数据,则电子设备将该数据分发给短信处理。此时,如果短信可以处理该数据,则在显示屏194上可以显示短信的另一个GUI 1103(如图11C所示)。
如图12所示,本实施例提供了一种电子设备1200,该电子设备1200中安装有用于处理NFC标签102中的数据的一个或多个应用1208,其结构示意图可以如图2所示,具体器件及说明在此不再赘述。其中,该电子设备1200中的NFC控制器1201包括分段采集数据单元1202、长短帧封装单元1203、长帧分发单元1204、短帧分发单元1205和短帧处理单元1206。其中,分段采集数据单元1202用于分段采集通过NFC收发器1207接收的数据,该数据是由NFC标签102发送的。长短帧封装单元1203用于封装短帧消息和长帧消息,短帧消息用于通知短帧处理单元1206,长帧消息用于数据内容的承载。长短帧封装单元1203还用于将上述短帧消息发送给短帧分发单元1205,将上述长帧消息发送给长帧分发单元1204。短帧处理单元1206用于设置直达应用的启动策略,并根据短帧通知消息解析出启动直达应用的条件。本实施例的技术方案中,不需要读取到NFC标签102发送全部的数据就可以做到对数据进行快速处理,同时还可以避免因为射频的不稳定导致数据丢失,从而无法识别NFC标签的技术问题。
可以理解的是,电子设备1200可以定义NFC标签的特定格式确保NFC标签可以快速地被直达应用处理。NFC标签的特定格式包括帧格式的定义和帧数据的写入规则,短帧消息的定义包含Head字段、帧类型、应用信息、优先级信息以及结束字段等。其中Head字段按TLV格式进行定义,TLV格式即为由数据的类型tag,数据的长度length和数据的值value构成的结构体。tag类型可以为NDEF类型,Technology类型,TAG类型等,应用信息可以包括应用的包名、关键字等信息,优先级信息和应用信息配合定义,如0表示最高优先级,FF为最低优先级等,结束字段为校验信息,如CRC检验等。长帧消息的定义包含Head字段、长短帧拆分标识字段、数据字段和结束字段。其中,长短帧拆分标识字段用于表示此数据是按照长短帧格式定义的。
本实施例的技术方案是从芯片和协议层来进行处理,能加快将NFC标签102中的数据进行分发的速度,并且能提高对NFC标签读取的成功率。该计数方案能够在短帧数据内容少时,电子设备1200的读取速率快。在到达应用层后,更快速完成应用的启动。当长帧数据读取完成后,也能快速的将数据分发给应用来处理。如果NFC标签102中的数据大(即数据字段长),如果读取过程中出现中断和不完整的情况,可能电子设备1200的应用层都无法感知这次读卡过程。而采用本实施例中的长短帧方案,能极大的弥补此问题。当短帧消息被接收后,电子设备的协议层就可以通知到应用层的应用,告知在NFC标签102的读取过程中,保持NFC标签102不要移动或保持电子设备不要移动等。
以上实施例中所用,根据上下文,术语“当…时”或“当…后”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。另外,在上述实施例中,使用诸如第一、第二之类的关系术语来区份一个实体和另一个实体,而并不限制这些实体之间的任何实际的关系和顺序。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要指出的是,本专利申请文件的一部分包含受著作权保护的内容。除了对专利局的专利文件或记录的专利文档内容制作副本以外,著作权人保留著作权。

Claims (19)

1.一种电子设备,包括:显示屏;一个或多个处理器;存储器;所述存储器存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
接收NFC(near field communication,近场通信)标签发送的数据;
当所述数据是NDEF(NFC Data Exchange Format,NFC数据交换格式)格式的数据时,确定所述数据的MIME(multipurpose Internet mail extensions,多用途互联网邮件扩展)类型;
根据所述MIME类型确定与所述MIME类型对应的一个应用模块;
将NDEF格式的所述数据分发给所述确定的应用模块。
2.如权利要求1所述的电子设备,其特征在于,所述根据所述MIME类型确定与所述MIME类型对应的一个应用模块,包括:判断所述MIME类型是否在第一白名单中,所述第一白名单为MIME类型与应用模块之间的对应关系;当所述MIME类型在所述第一白名单中时,确定与所述MIME类型对应的一个应用模块。
3.如权利要求2所述的电子设备,其特征在于,所述第一白名单中的MIME类型为特定格式的字符串,所述字符串中包括应用模块的包名。
4.如权利要求1或2所述的电子设备,其特征在于,所述确定的一个应用模块为一个应用,所述应用通过xml文件来申明处理特定的MIME类型的数据。
5.如权利要求1或2所述的电子设备,其特征在于,所述确定的一个应用模块为一个软件功能模块,所述软件功能模块为Wi-Fi模块,或所述软件功能模块为蓝牙模块。
6.如权利要求1至4任一项所述的电子设备,其特征在于,当所述指令被所述一个或多个处理器执行时,还使得所述电子设备执行以下步骤:
当确定所述数据的MIME类型不在所述第一白名单中时,确定所述MIME类型是否在第二白名单中,所述第二白名单中的MIME类型是在IANA(the Internet assigned numbersauthority,互联网数字分配机构)机构注册的媒体类型;
当所述MIME类型在所述第二白名单中,则确定与所述MIME类型对应的一个或多个应用模块;
当确定的所述应用模块是一个时,将所述NDEF数据分发给所述应用模块处理;或者,
当确定的所述应用模块是多个时,提示用户从中选择一个应用模块;
检测到用户的选择操作;
响应于所述选择操作,确定所选择的应用模块;
将所述NDEF数据分发给所选择的所述应用模块处理。
7.如权利要求5所述的电子设备,其特征在于,所述一个或多个应用模块为一个或多个应用。
8.如权利要求1至6任一项所述的电子设备,其特征在于,当所述指令被所述一个或多个处理器执行时,还使得所述电子设备执行以下步骤:
当确定所述数据不是NDEF格式的数据时发送请求信息,所述请求信息用于向所述NFC标签请求特征信息;
接收所述NFC标签发送的响应信息,所述响应信息中携带了所述特征信息;
根据所述响应信息中的所述特征信息确定是否能识别所述NFC标签的所述数据;
当根据所述特征信息能识别所述数据时,提示应用列表给用户。
9.如权利要求7所述的电子设备,其特征在于,所述特征信息包括AID(applicationidentifier,应用标识符)和/或tag类型。
10.一种快速分发NFC标签中的数据的方法,其特征在于,所述方法包括:
电子设备接收NFC标签发送的数据;
所述电子设备确定所述数据是否是NDEF格式的数据;
当所述数据是NDEF格式的数据时,所述电子设备确定所述数据的MIME类型;
所述电子设备确定所述MIME类型是否在第一白名单中,所述第一白名单为MIME类型与应用模块之间的对应关系;
当所述MIME类型在所述第一白名单中时,所述电子设备确定与所述MIME类型对应的一个应用模块;
所述电子设备将NDEF格式的所述数据分发给所述确定的应用模块。
11.如权利要求9所述的方法,其特征在于,所述第一白名单中的MIME类型为特定格式的字符串,所述字符串中包括应用模块的包名。
12.如权利要求9或10所述的方法,其特征在于,所述确定的一个应用模块为一个应用,所述应用通过xml文件来申明处理特定的MIME类型的数据。
13.如权利要求9或10所述的方法,其特征在于,所述确定的一个应用模块为一个软件功能模块,所述软件功能模块为Wi-Fi模块,或所述软件功能模块为蓝牙模块。
14.如权利要求9至12任一项所述的方法,其特征在于,所述方法还包括:
当确定所述数据的MIME类型不在所述第一白名单中时,所述电子设备确定所述MIME类型是否在第二白名单中,所述第二白名单中的MIME类型是在IANA机构注册的媒体类型;
当所述MIME类型在所述第二白名单中,则所述电子设备确定与所述MIME类型对应的一个或多个应用模块;
当确定的所述应用模块是一个时,所述电子设备将所述NDEF数据分发给所述应用模块处理;或者,
当确定的所述应用模块是多个时,所述电子设备提示用户从中选择一个应用模块;
所述电子设备检测到用户的选择操作;
响应于所述选择操作,所述电子设备确定所选择的应用模块;
所述电子设备将所述NDEF数据分发给所选择的所述应用模块处理。
15.如权利要求13所述的方法,其特征在于,所述一个或多个应用模块为一个或多个应用。
16.如权利要求9至14任一项所述的方法,其特征在于,所述方法还包括:
当确定所述数据不是NDEF格式的数据时所述电子设备发送请求信息,所述请求信息用于向所述NFC标签请求特征信息;
所述电子设备接收所述NFC标签发送的响应信息,所述响应信息中携带了所述特征信息;
根据所述响应信息中的所述特征信息,所述电子设备确定是否能识别所述NFC标签的所述数据;
当根据所述特征信息能识别所述数据时,所述电子设备提示应用列表给用户。
17.如权利要求15所述的方法,其特征在于,所述特征信息包括AID和/或tag类型。
18.一种电子设备,包括存储器,处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时使得所述电子设备实现如权利要求9至16任一项所述的方法。
19.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求9至16任一项所述的方法。
CN202210126940.XA 2019-03-26 2019-03-26 对nfc标签中的数据进行快速分发的方法及电子设备 Pending CN114666437A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210126940.XA CN114666437A (zh) 2019-03-26 2019-03-26 对nfc标签中的数据进行快速分发的方法及电子设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210126940.XA CN114666437A (zh) 2019-03-26 2019-03-26 对nfc标签中的数据进行快速分发的方法及电子设备
CN201910232545.8A CN111835903B (zh) 2019-03-26 2019-03-26 对nfc标签中的数据进行快速分发的方法及电子设备

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201910232545.8A Division CN111835903B (zh) 2019-03-26 2019-03-26 对nfc标签中的数据进行快速分发的方法及电子设备

Publications (1)

Publication Number Publication Date
CN114666437A true CN114666437A (zh) 2022-06-24

Family

ID=72914147

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210126940.XA Pending CN114666437A (zh) 2019-03-26 2019-03-26 对nfc标签中的数据进行快速分发的方法及电子设备
CN201910232545.8A Active CN111835903B (zh) 2019-03-26 2019-03-26 对nfc标签中的数据进行快速分发的方法及电子设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201910232545.8A Active CN111835903B (zh) 2019-03-26 2019-03-26 对nfc标签中的数据进行快速分发的方法及电子设备

Country Status (1)

Country Link
CN (2) CN114666437A (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112418368A (zh) * 2020-11-25 2021-02-26 Oppo(重庆)智能科技有限公司 Nfc卡片的处理方法及装置、设备、存储介质
WO2022195341A1 (en) * 2021-03-16 2022-09-22 Zhejiang Shaoxing Supor Domestic Electrical Appliance Co., Ltd. A home appliance product
CN112803958B (zh) * 2021-04-09 2021-08-03 四川科道芯国智能技术股份有限公司 Nfc-sim系统、控制方法及移动终端
CN115268710A (zh) * 2021-04-13 2022-11-01 华为技术有限公司 应用程序的登录方法、相关装置和系统
CN113177424A (zh) * 2021-04-27 2021-07-27 Oppo广东移动通信有限公司 Nfc卡片的数据分发方法及装置、电子设备及存储介质
CN115147967B (zh) * 2022-06-02 2023-12-15 福建新大陆通信科技股份有限公司 一种基于ctid和超级sim卡的信息核验方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101372667B1 (ko) * 2011-08-24 2014-03-11 주식회사 팬택 응용 프로그램 자동 실행 시스템 및 방법
CN104184768B (zh) * 2013-05-23 2018-11-23 深圳中兴网信科技有限公司 一种物联网数据传输方法、装置和系统
KR101754176B1 (ko) * 2013-07-26 2017-07-05 후아웨이 디바이스 컴퍼니 리미티드 태그 식별 방법 및 장치
CN103501191B (zh) * 2013-08-21 2016-03-30 王越 一种基于nfc近场通信技术的移动支付装置及其方法
CN103581434B (zh) * 2013-08-31 2016-02-03 成都西可科技有限公司 一种智能手机锁屏界面通过nfc标签进入应用的方法
CN103687060B (zh) * 2013-11-26 2019-05-07 小米科技有限责任公司 终端通信方法、装置及终端
US20150162956A1 (en) * 2013-12-06 2015-06-11 Raveeshkumar Bhat Near field communication based data transfer

Also Published As

Publication number Publication date
CN111835903B (zh) 2022-03-11
CN111835903A (zh) 2020-10-27

Similar Documents

Publication Publication Date Title
CN110020569B (zh) 自动选择nfc模拟卡的方法、电子设备及通信系统
CN111835903B (zh) 对nfc标签中的数据进行快速分发的方法及电子设备
US11423379B2 (en) Method for UWB transaction and electronic device therefor
KR102194301B1 (ko) 전자 장치들의 통신 연결 방법 및 장치
WO2022083551A1 (zh) 一种模拟卡的切换方法、电子设备和通信系统
WO2021052421A1 (zh) 近距离无线通信的方法和电子设备
CN113596810A (zh) 基于双卡的网络制式切换方法及终端设备
EP2764481B1 (fr) Procédé et système pour executer une transaction sans contact autorisant de multiples applications et de multiples instances d'une même application
EP3808116B1 (en) Method for uwb transaction and electronic device therefor
US20170244822A1 (en) Accessory apparatus and information displaying method using the same
WO2022253158A1 (zh) 一种用户隐私保护方法及装置
WO2012037791A1 (zh) 射频识别应用信息的显示方法、装置和系统
WO2024001767A1 (zh) 安全业务的切换方法及终端
CN117076089B (zh) 应用管理方法、终端设备及存储介质
CN113691671B (zh) 安全信息的开放方法、系统及电子设备
US12131213B2 (en) Emulated card switching method, electronic device, and communication system
CN115835132A (zh) 一种nfc射频参数兼容方法及电子设备
CN118672610A (zh) 一种可执行文件的更新方法、装置、电子设备及存储介质
CN115576460A (zh) 一种帐号绑定方法和电子设备
CN117850896A (zh) 一种预加载方法、电子设备、芯片及可读存储介质
CN115510447A (zh) 组件访问方法和装置、计算机可读存储介质以及芯片
CN116992401A (zh) 账户间应用隔离的方法及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination