Знакомство с NFC Nexus S Android в режиме эмуляции карты
Кто-нибудь мог получить связь в режиме эмуляции карты?
Последняя версия для Android не поддерживает это.
В этой статье говорится, что возможно http://www.nearfieldcommunicationsworld.com/2011/02/13/35913/uncovered-the-hidden-nfc-potential-of-the-google-nexus-s-and-the-nokia-c7/
Ответы
Ответ 1
Короче говоря:
Да, это возможно, но только если вы взломали. Статья, которую вы опубликовали, показывает, как это делается.
Такой хак будет работать только с Nexus-S и только на модифицированных телефонах с Android 2.4.3. Все зависит от недокументированных классов инфраструктуры, которые могут меняться в любое время.
С официальным SDK для Android это невозможно.
Ответ 2
Здесь вы можете скачать патч для Gingerbread, который включает эмуляцию карты:
http://groups.google.com/group/android-developers/browse_thread/thread/d5fc35a9f16aa467/dec4843abd73d9e9%3Flnk%3Dgst%26q%3Dsecure%2Belement%2Bdiff%2527s%23dec4843abd73d9e9
Эмутированная карта будет Mifare Classic 4K.
Ответ 3
Есть много вопросов по эмуляции карт NFC на Android. Некоторые сомнения были решены в этом сообщении. До сих пор все мои данные суммируются в этом другом сообщении.
Ответ 4
Я думаю, что с эмуляцией карты вы имеете в виду режим P2P. Android 2.3.3+ имеет ограниченную поддержку для этого, вы можете подтолкнуть NDEF-сообщения и сделать phoen, поскольку это был пассивный тег nfc. Кстати, вы можете писать и читать с 2.3.3. Больше нет взлома.
Ответ 5
Мне удалось включить режим эмуляции карты на Nexus S. Я опубликую больше информации о процессе для разработчиков xda.
Однако, после большого взлома, я смог только принудительно зафиксировать фиксированные данные на SE (Secure Element). Я также заставляю SE иметь фиксированный ID. На незащищенном Nexus S идентификатор меняется все время.
Когда я попытался прочитать эмулированный картой Nexus S, используя NFC Shield на Arduino, я получил идентификатор карты и принудительные данные в SE. Однако, когда я пытался читать свой телефон с помощью другого Nexus S, телефон даже не был обнаружен.
"принудительные фиксированные данные" на SE могут быть установлены только в исходном коде Android, в моей попытке. Я еще не нашел способ записать данные в SE с помощью приложения Android.