io.对讲机.android.sdk.fcm.对讲机通信服务:针对S+(版本31及更高版本)需要在存在Intent过滤器时定义android:exported的显式值]
我知道我必须在清单中添加与此类似的内容,但仍然找不到它
<receiver android:name="" android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</receiver>
1条答案
按热度按时间hgc7kmma1#
在Android 11及更低版本中,当在
AndroidManifest
中声明Activity
、Service
或Broadcast
接收器时,您没有显式声明android:exported
,因为默认值为exported=true
,所以您只需要在不想对外公开的情况下声明exported=false
。例如:
Android 12变更:在Android 12设备上将SDK API 31(Android 12)设置为目标SDK的导出应用的显式声明必须在声明intent过滤器的Activity等组件中显式声明exported。
例如,必须显式声明exported,如下所示:
总之,
android:exported="true"
或"android:exported="false"
必须添加到所有receivers
、services
和activity
标签中,并在其中包含intent过滤器。您可以在应用的文件夹
obj
中找到AndroidManifest.xml
。我的文件夹是MyAndroidProject\obj\Debug\120\
。找到
AndroidManifest.xml
文件后,您可以重新检查是否已将标记android:exported
添加到所有receivers
、services
和activity
。