У меня есть активность NFC, которая определяет фильтр намерения и данные. Это что-то вроде
<intent-filter>
<action android:name="android.nfc.action..." />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="..."
android:path="..." />
</intent-filter>
Теперь проблема заключается в том, что, поскольку я не включил android: exported = "false". это делает эту активность восприимчивой к вредоносной атаке со стороны приложений, поскольку деятельность теперь доступна для публики. Проблема здесь в том, что если я поместил экспортированный атрибут как false, я не смогу получить вызов активности из внешнего намерения (которое должно запускать действие через onNewIntent())
Есть ли способ сделать операцию "безопасной", не затрагивая ее общий механизм запуска, т.е. Посредством внешнего намерения?
Если вам нужно получать уведомления о тегах, вам нужен фильтр намерений. Диспетчер тегов использует это, чтобы найти интересующие действия, которые следует учитывать при проверке тега. Если вы сделаете свою деятельность частной, то вы не сможете ее уведомить, как вы видели. Какие "злонамеренные атаки" вас беспокоят? Ваша деятельность настолько же безопасна, насколько вы ее кодируете: если вы будете обрабатывать только NFC, вы будете "безопасны" (если, конечно, полезная нагрузка NFC не запускает код очистки устройства или что-то еще...)