I'm using a card emulation with a uicc SE (no HCE). My min api sdk is 17 and my target is 19.
As I far i remember in Android 2.x was a intent that aware the app if the phone goes into a nfc field, something like FIELD_ON intent. ¿Is there anyhow nowadays?
The NDEF detection is, obviously, not valid for me as far I'm the passive one. My situation is: "hey you're being reading from a active element".
Thank you
Browsing through the current AOSP source and the NFC service on a GS4, there are a couple of intents/broadcasts that could do what you want:
This seems to be sent when an external RF field activates a secure element:
com.android.nfc_extras.action.RF_FIELD_ON_DETECTED
This seems to be sent when an application on an SE is selected:
com.android.nfc_extras.action.AID_SELECTED
This seems to be sent when an APDU is received by an SE:
com.android.nfc_extras.action.APDU_RECEIVED
This seems to be sent when an SE is activated:
com.android.nfc_extras.action.SE_LISTEN_ACTIVATED
This seems to be sent when an SE's MIFARE functionality is accessed:
com.android.nfc_extras.action.MIFARE_ACCESS_DETECTED
Moreover, I found the following events (some seem to be device specific):
android.nfc.action.TRANSACTION_DETECTED
com.sony.nfc.action.TRANSACTION_DETECTED
com.nxp.action.CONNECTIVITY_EVENT_DETECTED
However, I'm not sure what permissions you need in order to receive any of those intents. Also, I'm not sure which of those events apply to the UICC and which are valid for embedded SEs only. Moreover, I'm not sure if all of them are broadcasts (i.e. receivable through broadcast receivers).