Будет вызываться NFCActivity, но поскольку он ничего не делает, вы никогда не узнаете.
При использовании старого стиля получения NF C есть две возможные точки входа для данных NF C. данные через Intents.
1) Ваша активность уже запущена, и если у вас есть enableForegroundDispatch
https://developer.android.com/guide/topics/connectivity/nfc/advanced-nfc#foreground -dispatch , тогда генерируемый системой намерение будет передано onNewIntent
, но так как ваша NFCActivity не запущена и у вас нет enableForegroundDispatch
, тогда она не будет передана onNewIntent
2) У вас установлены фильтры NF C Intent и ваше приложение не работает, тогда ваша активность запускается в первый раз, а затем вы обрабатываете намерение в onCreate
, а не в onNewIntent
Это потому, что документы для onNewIntent
скажем
https://developer.android.com/reference/android/app/Activity#onNewIntent ( android .content.Intent)
, когда действие перезапускается, когда он находится на вершине стека действий вместо нового экземпляра запускаемого действия, onNewIntent () будет вызываться на существующий экземпляр с Inte Не то, что использовалось для его повторного запуска.
Поскольку ваша активность не активна RE -launched onNewIntent
не вызывается.
Большинство приложений I '' Мы видели, как переместить обработку Намерения в отдельный метод, например readFromIntent
Затем из onCreate
вызов readFromIntent
, когда приложение запускается фильтрами NF C, или Из onNewIntent
вызов readFromIntent
, когда приложение уже запущено. и enableForegroundDispatch
заставил систему отправить NF C Intent уже запущенному приложению.
Также вы можете обнаружить, что Intent не будет отображаться как NDEF_DISCOVERED, поскольку у вас нет типа данных установить в свой NF C фильтры
например
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="*/*" />
</intent-filter>
с https://developer.android.com/guide/topics/connectivity/nfc/nfc#ndef -дис c но * / * получит все типы, вы можете уменьшите область видимости позже, если вам нужно.
Полный пример на https://www.codexpedia.com/android/android-nfc-read-and-write-example/