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

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

Ответы [ 2 ]

0 голосов
/ 11 февраля 2012

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

0 голосов
/ 23 января 2012

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

...