Ответ 1
Вы спрашиваете:... безопасно ли выставлять эти специфические сервисы Firebase, подобные этому? Это если вы доверяете комментариям в файлах манифеста для этих служб.
В Android Studio откройте файл AndroidManifest.xml приложения. В нижней части окна выберите вкладку "Объединенный манифест". Прокрутите, чтобы найти запись для FirebaseMessagingService
. Дважды щелкните по строке, содержащей имя службы. Файл манифеста для службы должен быть открыт, и вы увидите следующее:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.google.firebase.messaging">
<uses-sdk android:minSdkVersion="14"/>
<application>
<!-- FirebaseMessagingService performs security checks at runtime,
no need for explicit permissions despite exported="true" -->
<service android:name="com.google.firebase.messaging.FirebaseMessagingService" android:exported="true">
<intent-filter android:priority="-500">
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
</application>
</manifest>
Обратите внимание на комментарий: FirebaseMessagingService выполняет проверки безопасности во время выполнения, без необходимости явных разрешений, несмотря на то, что exported = "true"
Вы можете сделать то же самое для FirebaseInstanceIdService
и посмотреть тот же комментарий.
Если вы доверяете комментариям (я делаю), вы можете смело игнорировать предупреждения линта или отключать проверки.