我需要在智能手机上与 SIM 卡交换 APDU。
我使用运营商 (Rogers) SIM 卡做了一个小测试功能来尝试此操作。
SmartCardReader[] allReaders = SmartCardReaderFactory.getInstalledReaders();
for( int readerIndex = 0; readerIndex < allReaders.length; ++readerIndex) {
try {
SmartCardReaderSession session = allReaders[readerIndex].openSession();
}
catch( Exception e ) {
System.err.println( e.toString() );
}
}
但我不断收到 SmartCardNoCardPresentException 异常。
显然,SIM 卡存在(我可以用它调用电话),但 isSmartCardPresent() 返回 false。
请注意,我没有在模拟器上运行它,它只能在真实手机上“运行”。我使用 Torch 9810 作为目标。
另请注意,我已经签署了我的申请。
任何提示/建议将不胜感激。
最佳答案
我认为对黑莓智能卡读卡器概念存在误解。
您假设 sim 卡是智能卡,并且安装的 sim 卡必须被识别为智能卡。但事实并非如此。
在此处了解更多信息:Smart card reader for BlackBerry
关于java - 调用 SmartCardReader.openSession() 时出现 net.rim.device.api.smartcad.SmartCardNoCardPresentException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10004004/