I found two approaches to let an Android app detect and process NFC tags:
NfcAdapter.enableReaderMode(activity, callback, flags, extras) and th
enableReaderMode: Limit the NFC controller to reader mode while this Activity is in the foreground.
enableForegroundDispatch: This will give priority to the foreground activity when dispatching a discovered Tag to an application.
So basically you can use both for the same purpose, which is reading/writing a tag. enableReaderMode is used by Android phones in combination with a Broadcom NFC controller, because there is a bug on the presence check. As far as I know, only the enableReaderMode can dodge this by increasing EXTRA_READER_PRESENCE_CHECK_DELAY.