Как определить, когда телефон входит в поле nfc с помощью эмуляции карты

Я использую эмуляцию карты с uicc SE (без HCE). Мой минимальный API SDK — 17, а моя цель — 19.

Насколько я помню, в Android 2.x было намерение, которое уведомляло приложение, если телефон переходит в поле nfc, что-то вроде намерения FIELD_ON. ¿Есть ли в наше время?

Обнаружение NDEF, очевидно, для меня недействительно, поскольку я пассивный. Моя ситуация такова: «Эй, ты читаешь с активного элемента».

Спасибо


person ArturoNaredo    schedule 05.04.2014    source источник
comment
Может быть, с EVT_TRANSACTION, запущенным апплетом?   -  person ArturoNaredo    schedule 07.04.2014
comment
Здравствуйте, у меня такая же проблема, подскажите как вы решили проблему?   -  person Rabby Alam    schedule 03.03.2015


Ответы (1)


Просматривая текущий источник AOSP и службу NFC на GS4, можно обнаружить несколько намерений/трансляций, которые могут делать то, что вы хотите:

  1. Кажется, это отправляется, когда внешнее радиочастотное поле активирует безопасный элемент:

    com.android.nfc_extras.action.RF_FIELD_ON_DETECTED
    
  2. Кажется, это отправляется, когда выбрано приложение на SE:

    com.android.nfc_extras.action.AID_SELECTED
    
  3. Кажется, это отправляется, когда APDU получен SE:

    com.android.nfc_extras.action.APDU_RECEIVED
    
  4. Кажется, это отправляется при активации SE:

    com.android.nfc_extras.action.SE_LISTEN_ACTIVATED
    
  5. Кажется, это отправляется при доступе к функциям SE MIFARE:

    com.android.nfc_extras.action.MIFARE_ACCESS_DETECTED
    

Кроме того, я обнаружил следующие события (некоторые, похоже, зависят от устройства):

android.nfc.action.TRANSACTION_DETECTED
com.sony.nfc.action.TRANSACTION_DETECTED
com.nxp.action.CONNECTIVITY_EVENT_DETECTED

Однако я не уверен, какие разрешения вам нужны, чтобы получить какое-либо из этих намерений. Кроме того, я не уверен, какие из этих событий применимы к UICC, а какие действительны только для встроенных SE. Более того, я не уверен, что все они являются широковещательными (т.е. могут быть получены через широковещательные приемники).

person Michael Roland    schedule 02.05.2014