Flutter/Java NFC Card Emulation. Мне необходимо эмулировать карточку без информации в блоках, но с точным uid?

Для эмуляции NFC-карточки без информации в блоках, но с точным UID вам потребуется использовать Android-приложение, написанное на языке программирования Java или на Flutter с использованием плагина flutter_nfc. Оба варианта могут обеспечить вам функциональность, которую вы ищете.

Ниже приведены шаги, которые вам нужно выполнить для достижения вашей цели в обоих случаях:

1. Добавить библиотеку NFC в ваш проект. В Android-приложении можно добавить зависимость от библиотеки в файле build.gradle вашего проекта:

implementation 'com.android.support:cardview-v7:XX.X.X'

В случае Flutter вам нужно добавить плагин flutter_nfc в файл pubspec.yaml вашего проекта и запустить команду "flutter pub get".

2. Создать класс, который будет служить вашим NFC-сервисом или фрагментом (в Android) или классом-оболочкой (в Flutter) для работы с NFC. В этом классе вы будете управлять чтением и записью данных на эмулируемую карту.

3. Создать метод для эмуляции NFC-карточки. В этом методе вы будете использовать функции API, предоставляемые платформой Android или составляющую плагина в случае Flutter, чтобы создать эмулируемую карту с нужным UID. В этом методе вы также можете указать, что блоки данных должны быть пустыми.

В Android вы можете использовать функции из классов NfcAdapter и NdefRecord для генерации и записи данных на эмулируемую NFC-карту. Пример кода:

NdefMessage ndefMessage = new NdefMessage(
        new NdefRecord[]{NdefRecord.createApplicationRecord("com.example")});
nfcAdapter.setNdefPushMessage(ndefMessage, activity);

В плагине flutter_nfc используйте функциональность плагина для записи данных на эмулируемую NFC-карту. Пример кода:

await FlutterNfcManager.instance.setNdefMessage(
    ['com.example'],
);

Обратите внимание, что приведенные примеры демонстрируют только эмуляцию карты без информации в блоках, но с точным UID. Вам нужно будет дополнить код, чтобы добавить дополнительную функциональность, если требуется, например, для чтения или записи данных на карту.

Также следует заметить, что функциональность эмуляции NFC может быть ограничена на некоторых устройствах или версиях Android. Обратитесь к документации для вашего устройства или платформы, чтобы узнать подробности о поддержке функции эмуляции карт NFC.

В целом, эмулирование NFC-карточки без информации в блоках, но с точным UID возможно как на платформе Android с использованием Java, так и на платформе Flutter с использованием плагина flutter_nfc. Вам потребуется создать соответствующий код, который будет обеспечивать нужную функциональность. Однако, необходимо помнить о технических ограничениях и возможных различиях в поддержке на разных устройствах и версиях операционной системы.