NFC卡模擬業(yè)務(wù)

2024-01-23 16:50 更新

本模塊主要提供NFC卡模擬業(yè)務(wù),包括判斷支持哪種卡模擬類型,HCE卡模擬的業(yè)務(wù)實(shí)現(xiàn)等。

說明

本模塊首批接口從API version 6開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。

導(dǎo)入模塊

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

FeatureType

定義不同的NFC卡模擬類型。

說明

從 API version 6 開始支持,從 API version 9 開始廢棄,建議使用hasHceCapability替代。

系統(tǒng)能力: SystemCapability.Communication.NFC.CardEmulation

名稱說明
HCE0HCE 卡模擬。
UICC1SIM 卡模擬。
ESE2ESE卡模擬。

CardType9+

定義卡模擬應(yīng)用所使用的業(yè)務(wù)類型,是支付類型,還是其他類型。

系統(tǒng)能力: SystemCapability.Communication.NFC.CardEmulation

名稱說明
PAYMENT"payment"卡模擬應(yīng)用所使用的業(yè)務(wù)是支付類型。
OTHER"other"卡模擬應(yīng)用所使用的業(yè)務(wù)是其他類型。

isSupported

isSupported(feature: number): boolean

是否支持某種類型的卡模擬。

說明

從 API version 6 開始支持,從 API version 9 開始廢棄,建議使用hasHceCapability替代。

系統(tǒng)能力: SystemCapability.Communication.NFC.CardEmulation

參數(shù):

參數(shù)名類型必填說明
featurenumber卡模擬類型值,詳細(xì)請見FeatureType枚舉值。

返回值:

類型說明
booleantrue: 支持該類型卡模擬, false: 不支持該類型卡模擬。

hasHceCapability9+

hasHceCapability(): boolean

判斷是否支持HCE功能。

系統(tǒng)能力: SystemCapability.Communication.NFC.CardEmulation

需要權(quán)限: ohos.permission.NFC_CARD_EMULATION

返回值:

類型說明
booleantrue: 支持HCE, false: 不支持HCE。

isDefaultService9+

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

判斷指定的應(yīng)用是否為指定業(yè)務(wù)類型的默認(rèn)應(yīng)用。

系統(tǒng)能力: SystemCapability.Communication.NFC.CardEmulation

需要權(quán)限: ohos.permission.NFC_CARD_EMULATION

參數(shù):

參數(shù)名類型必填說明
elementNameElementName應(yīng)用的描述,由Bundle名稱和組件名稱組成。
typeCardType卡模擬業(yè)務(wù)類型。

返回值:

類型說明
booleantrue: 是默認(rèn)支付應(yīng)用, false: 不是默認(rèn)支付應(yīng)用。

示例:

  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);
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號