JSR 177 最常用于与安全元素和 UICC 进行通信。JSR 177 不能在 BlackBerry 模拟器上运行,因为它不支持模拟所需的硬件。如果要添加 NFC 模拟,则需要编辑模拟器并按照此处提供的说明进行操作。我还没有完成这些说明,所以我不知道是否可以模拟 JSR 177 与 SIM 的连接。从链接中提供的说明中可以看出,“黑莓智能手机模拟器只模拟不安全的被动通信。”
我建议您阅读BlackBerry NFC Primer并了解一些交互智能卡应用程序的知识。
可以在 BlackBerry 设备上使用 JSR 177,但是为了这样做,您必须使用 NCFR 或 RESE 签名对您的应用程序进行签名才能访问 API。此签名只能由 BlackBerry 的应用程序获得。根据您在应用程序中使用的 API,您可能需要两个或一个签名,但是如果您想与 SIM 通信,我相信您只需要 NFCR 签名。
下面是一个关于如何创建 JSR 177 连接的简短(未经测试)示例:
//The BNF URI is explained within JSR 177, it will connect to the AID specified in the
//target. In this example the AID is the first thing that came to my head and should be an
//application install on the UICC.
final String BNF_URI = "apdu:0;target=A0.00.00.00.01.02.03.04";
...
//Cmd APDU defines the APDU to be sent to the application on the UICC
byte[] cmdApdu = new byte[]{ 0x00, 0x4A, 0x00, 0x01, 0x00};
ApduConnection conn = (ApduConnection)Connector.open();
byte[] rApdu = conn.exchangeAPDU(cmdApdu);
...
在示例中,接收到的 R-APDU 将是从智能卡环境中的应用程序发送的数据字节数组。