codecamp

NFC卡模拟业务

本模块主要提供NFC卡模拟业务,包括判断支持哪种卡模拟类型,HCE卡模拟的业务实现等。

说明

本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

  1. import cardEmulation from '@ohos.nfc.cardEmulation';

FeatureType

定义不同的NFC卡模拟类型。

说明

从 API version 6 开始支持,从 API version 9 开始废弃,建议使用hasHceCapability替代。

系统能力: SystemCapability.Communication.NFC.CardEmulation

名称说明
HCE0HCE 卡模拟。
UICC1SIM 卡模拟。
ESE2ESE卡模拟。

CardType9+

定义卡模拟应用所使用的业务类型,是支付类型,还是其他类型。

系统能力: SystemCapability.Communication.NFC.CardEmulation

名称说明
PAYMENT"payment"卡模拟应用所使用的业务是支付类型。
OTHER"other"卡模拟应用所使用的业务是其他类型。

isSupported

isSupported(feature: number): boolean

是否支持某种类型的卡模拟。

说明

从 API version 6 开始支持,从 API version 9 开始废弃,建议使用hasHceCapability替代。

系统能力: SystemCapability.Communication.NFC.CardEmulation

参数:

参数名类型必填说明
featurenumber卡模拟类型值,详细请见FeatureType枚举值。

返回值:

类型说明
booleantrue: 支持该类型卡模拟, false: 不支持该类型卡模拟。

hasHceCapability9+

hasHceCapability(): boolean

判断是否支持HCE功能。

系统能力: SystemCapability.Communication.NFC.CardEmulation

需要权限: ohos.permission.NFC_CARD_EMULATION

返回值:

类型说明
booleantrue: 支持HCE, false: 不支持HCE。

isDefaultService9+

isDefaultService(elementName: ElementName, type: CardType): boolean

判断指定的应用是否为指定业务类型的默认应用。

系统能力: SystemCapability.Communication.NFC.CardEmulation

需要权限: ohos.permission.NFC_CARD_EMULATION

参数:

参数名类型必填说明
elementNameElementName应用的描述,由Bundle名称和组件名称组成。
typeCardType卡模拟业务类型。

返回值:

类型说明
booleantrue: 是默认支付应用, false: 不是默认支付应用。

示例:

  1. import cardEmulation from '@ohos.nfc.cardEmulation';
  2. var isHceSupported = cardEmulation.isSupported(cardEmulation.FeatureType.HCE);
  3. if (!isHceSupported) {
  4. console.log('this device is not supported for HCE, ignore it.');
  5. return;
  6. }
  7. var hasHceCap = cardEmulation.hasHceCapability();
  8. if (!hasHceCap) {
  9. console.log('this device hasHceCapability false, ignore it.');
  10. return;
  11. }
  12. var elementName = {
  13. "bundleName": "com.test.cardemulation",
  14. "abilityName": "com.test.cardemulation.MainAbility",
  15. };
  16. var isDefaultService = cardEmulation.isDefaultService(elementName, cardEmulation.CardType.PAYMENT);
  17. console.log('is the app is default service for this card type: ' + isDefaultService);
有源标签
管理NFC状态
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

媒体组件

像素

枚举

类型

接口

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }