Я хочу маршрутизировать APDU, которые я получаю от NFC-Reader на SIM-карту. Согласно HCE documentation, я думал, что это будет возможно, просто создав OffHostApduService с соответствующими строками маршрутизации (что я и сделал).KitKat: Как перенаправить APDU на SIM-карту
К сожалению, на SIM-карте отсутствуют APDU. SELECT-Команды, которые работают, когда SIM-карта напрямую подключена к моей рабочей станции с помощью SIM-Reader с 6a82 (файл не найден).
В LogCat я нашел два интересных бит информации:
Каждый раз, когда я снимаю выбери команду, которая должна быть перенаправлена на SIM-карту, я получаю эти записи:
01-14 10:44:18.501: D/BrcmNfcJni(1009): RoutingManager::stackCallback: event=0x17
01-14 10:44:18.501: D/BrcmNfcJni(1009): RoutingManager::stackCallback: NFA_CE_DATA_EVT; h=0x302; data len=12
01-14 10:44:18.501: D/HostEmulationManager(1009): notifyHostEmulationData
Я думаю, что это подсказка о том, что маршрутизация настроена неправильно, так как я думаю, что ОС Android не должна знать, когда маршрутизация на SIM активна, и на SIM-карту отправляется команда выбора или другой.
Каждый раз, когда я удалить телефон из поля NFC читателя, я получаю следующее сообщение об ошибке:
01-14 10:46:48.791: E/BrcmNfcNfa(1009): UICC[0x0] is not activated
Я попытался проследить причину этой ошибки вниз и нашел файл external/libnfc-nci/src/nfa/ce/nfa_ce_act.chere
который, кажется, принадлежит для драйвера Broadcom NFC.
Я думаю, что ошибка заключается в том, что приложение не может установить правильную маршрутизацию для APDU, так как драйвер считает, что SIM-карта не активирована. В момент отправки команд SIM разблокируется (PIN-Entry), но я сомневаюсь, что это имеет какое-либо отношение к нему, поскольку мне не нужно разблокировать SIM-карту перед ее использованием в устройстве чтения карт.
Я использую Nexus 5 для тестирования. Есть ли у кого-нибудь опыт и/или рабочий пример, где APDU могут быть перенаправлены на SIM-карту вместо CPU?
Привет, я работаю над такой же проблемой, как бы я не знал, как перенаправить апду в симулятор, может объяснить метод, который вы использовали по вопросу, который я задал. Я ищу, как перезаписать метод onBind offHostApduService. Большое спасибо – Morendo