JSR 177主要用于与安全元件和UICC进行通信。 JSR 177在BlackBerry模拟器上不起作用,因为它不支持模拟所需的硬件。如果您想添加NFC模拟,您需要编辑模拟器并按照here提供的说明进行操作。我还没有完成这些说明,因此我不知道是否可以模拟与SIM卡的JSR 177连接。根据链接中提供的说明,它指出:“BlackBerry Smartphone Simulator仅模拟不安全的无源通信。”
我建议您阅读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接收的将是从智能卡中的应用程序发送数据的一个字节数组的例子环境。