1. 调用 NfcController 类的 getInstance()接口,获取 NfcController 实例。
2. 调用 CardEmulation 类的 getInstance(mNfcController)接口,获取CardEmulation 实例,去管理本机卡模拟模块操作。
3. 调用 registerAids()接口去给应用注册指定类型的 AID。
4. 调用 removeAids()接口去删除应用的指定类型的 AID。
5. 调用 isDefaultForAid()接口去判断应用是否是指定 AID 的默认处理应用。
6. 调用 getAids()接口去获取应用中指定类型的 AID 列表。xpanx.com
// 获取 NFC 控制对象
NfcController mNfcController = NfcController.getInstance(context);
// 获取卡模拟控制对象
CardEmulation mCardEmulation =
CardEmulation.getInstance(mNfcController);
// 给应用注册指定类型的 AID
List<String> aids = new ArrayList<String>();
aids.add(0, "A0028321901280");
aids.add(1, "A0028321901281");
try {
mCardEmulation.registerAids(new ElementName(),
CardEmulation.CATEGORY_PAYMENT, aids);
} catch (IllegalArgumentException e) {
HiLog.error(LABEL, "IllegalArgumentException when registerAids"); }
// 删除应用的指定类型的 AID
mCardEmulation.removeAids(new ElementName(),
CardEmulation.CATEGORY_PAYMENT);
mCardEmulation.removeAids(new ElementName(),
CardEmulation.CATEGORY_OTHER);
// 判断应用是否是指定 AID 的默认处理应用
String aid = "A0028321901280";
mCardEmulation.isDefaultForAid(new ElementName(), aid);
// 获取应用中指定类型的 AID 列表
try {
mCardEmulation.getAids(new ElementName(),
CardEmulation.CATEGORY_PAYMENT);
} catch (NullPointerException e) {
HiLog.error(LABEL, "NullPointerException when getAids");
} catch (IllegalArgumentException e) {
HiLog.error(LABEL, "IllegalArgumentException when getAids");
}
xpanx.com
评论