2012-04-04 5 views
0

Мне нужно обменять APDU на SIM-карту на смартфоне.net.rim.device.api.smartcad.SmartCardNoCardPresentException при вызове SmartCardReader.openSession()

Я сделал небольшую пробную функцию, чтобы попробовать это, используя SIM-карту моего оператора (Rogers).

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 в качестве цели.

Также обратите внимание, что я подписал свое приложение.

Любые подсказки/советы будут оценены.

ответ

1

Я думаю, что есть непонимание концепции смарт-карт для ежевики.

Вы считаете, что сим-карта - это смарт-карта, а установленная сим-карта должна быть признана смарт-картой. Но это неправда.

Подробнее читайте здесь: Smart card reader for BlackBerry