Итак, короткий ответ: очень маловероятно, что кто-то выполнил эту очень нестандартную работу, люди, которые, скорее всего, выполнили ее, являются изготовителями терминалов, и, поскольку вы не указываете, кто это, очень трудноответьте, если это было сделано.
Большая часть содержимого NFC обрабатывается ОС на стандартном Android, и поэтому вы действительно ограничены упаковкой в библиотеку, чтобы упростить выполнение нужных пользовательских операций внеспецификаций NFC.
Опять же, поскольку вы не указываете, для чего используется Mifare Classic, невозможно сказать, сделал ли кто-нибудь для этого библиотеку.
То же самое сПредоставляемая информация (или ее отсутствие) сводится к тому, чтобы самостоятельно обрабатывать эти очень нестандартные вещи, ниже приведен минимум, который вам нужно будет сделать, это не включает нативный код и аппаратные средства очень низкого уровня (что вы не сможетесделать на стандартном Android, если вы все равно не рутировали телефон): -
Так что в стандартном Android читайтеПоддержка Mifare Classic поддерживается, но на довольно низком уровне (вам нужно знать, какой блок читать и формат данных в блоке)
См. https://developer.android.com/reference/android/nfc/tech/MifareClassic
Способ Iподойдет к этому, чтобы попытаться идентифицировать работающее устройство, чтобы попробовать правильный метод доступа.
Один из способов идентификации состоит в том, чтобы попробовать стандартный метод Android и при возврате NfcAdapter.getDefaultAdapter(Context)
Если NULL, то используйте пользовательские команды SDK (поскольку я не ожидал, что пользовательское оборудование не будет зарегистрировано как NFC_Service с Android)
NOT NULL, затем создайте ожидающий Intent
для ACTION_TECH_DISCOVERED
enableForegroundDispatch
с этим намерением получать уведомления при чтении тега операционной системой
Затем в методе onNewIntent
: -
Проверьте, что MifareClassic
является поддерживаемой технологией (невсе оборудование поддерживает MifareClassic), вместо этого используйте NfcA
.