Получение UID RFID-метки Mifare Classic на телефоне Android через KotlinAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Получение UID RFID-метки Mifare Classic на телефоне Android через Kotlin

Сообщение Anonymous »

У меня вообще нет опыта создания приложений для Android, но я хотел бы создать простое приложение, которое выполняло бы некоторые функции на основе UID тега Mifare Classic, который я представляю считывателю NFC.
Я потратил последние дни копался в Интернете и в итоге получил следующую реализацию:
AndroidManifest.xml

Код: Выделить всё

...

...

android:launchMode="singleTop"> 










...
/res/xml/nfc_tech_filter.xml

Код: Выделить всё



android.nfc.tech.NfcA
android.nfc.tech.NfcB
android.nfc.tech.NfcF
android.nfc.tech.IsoDep
android.nfc.tech.NfcV
android.nfc.tech.Ndef
android.nfc.tech.NdefFormatable
android.nfc.tech.MifareClassic
android.nfc.tech.MifareUltralight



MainActivity.kt

Код: Выделить всё

...
import android.nfc.NfcAdapter
import android.nfc.Tag
import android.nfc.tech.MifareClassic
import android.nfc.tech.NfcA

class MainActivity : AppCompatActivity() {
private lateinit var nfcAdapter: NfcAdapter

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

// Initialize NFC Adapter
nfcAdapter = NfcAdapter.getDefaultAdapter(this)
...
}

...
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)

// Retrieve the NFC tag from the intent
val tagFromIntent: Tag? = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG)

if (tagFromIntent != null) {
Log.e("NFC_TAG", "NFC tag found in the intent")
} else {
Log.e("NFC_TAG", "No NFC tag found in the intent")
}
}
Приложение должно работать на старом смартфоне Sony Xperia Compact с Android 9.

Когда я тестирую приложение на этом телефоне и представляю Mifare Classic 1K RFID-карта Я всегда получаю сообщение «Тег NFC не найден».

Однако, когда я использую такие приложения, как TagInfo или MIFARE Classic, отображается UID карт для тестирования. NFC Tools даже показывает NfcA и MifareClassic как доступные технологии.
Чего мне не хватает в моей реализации?
Обновление 16.09.:
Я нашел в Интернете ресурс (NFCReader — mueller-ma github), который представляет собой реализацию приложения Kotlin, которое предоставляет пользователю информацию о RFID-метках. Он делает больше, чем мне нужно, но послужил хорошей основой. Я до сих пор не знаю точных проблем с моим подходом, но эта версия не распознает теги как Mifare Classic. Поскольку он все еще может определять UID по моим «неизвестным» тегам, у меня есть все, что мне нужно для моего небольшого проекта, и я смог заставить эту функцию работать.

Подробнее здесь: https://stackoverflow.com/questions/789 ... via-kotlin
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Mifare Classic 1k Apdu Команда для извлечения тега UID
    Anonymous » » в форуме JAVA
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Ошибка NS_ASSERT, cond="uid <= m_information.size() && uid != 0", msg="Uid 0 для этого TypeId недействителен"
    Anonymous » » в форуме C++
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Подключенное устройство не поддерживает RFID, ฺ и штрих -код или Zebra RFID SDK не инициализирован в Android 14
    Anonymous » » в форуме Android
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Как прочитать значок Mifare, чтобы получить ключ UID, в Android Studio Java
    Anonymous » » в форуме JAVA
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Как прочитать значок Mifare, чтобы получить ключ UID, в Android Studio Java
    Anonymous » » в форуме JAVA
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»