Определить, когда приложение запускается через NFC в ICS

ICS предоставляет возможность общего доступа к приложению через Android Beam с использованием NFC, и, насколько я понял, если приложение открывается на устройстве A, оно автоматически запускается на устройстве B (если оно уже установлено на нем, в противном случае приложение Market откроется), когда устройства находятся достаточно близко, и пользователь "прикасается к нему". Есть ли способ, в модуле запуска, определить, был ли он запущен из-за сообщения NFC или из-за взаимодействия с пользователем?

2 ответа

В случае, если сообщение Android Beam (или NDEF) содержит запись приложения Android, http://developer.android.com/guide/topics/nfc/nfc.html, результирующее намерение запустить приложение не будет действие ACTION_NDEF_DISCOVERED, но ACTION_MAIN. Этот метод можно использовать для запуска любого приложения, включая приложения, которые не фильтруют намерения NFC.

Только NFC Intents запускаются, когда возникает луч. Это ACTION_NDEF_DISCOVERED, ACTION_TECH_DISCOVERED или ACTION_TAG_DISCOVERED. Ознакомьтесь с разделом о лучах руководства разработчика, чтобы узнать, как обрабатывать балки: http://developer.android.com/guide/topics/nfc/nfc.html

Другие вопросы по тегам