对讲机不工作的Android 12 Xamarin形式

af7jpaap  于 2022-12-25  发布在  Android
关注(0)|答案(1)|浏览(127)

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>
hgc7kmma

hgc7kmma1#

在Android 11及更低版本中,当在AndroidManifest中声明ActivityServiceBroadcast接收器时,您没有显式声明android:exported,因为默认值为exported=true,所以您只需要在不想对外公开的情况下声明exported=false
例如:

<activity android:name="com.example.app.backgroundService">
    <intent-filter>
        <action android:name="com.example.app.START_BACKGROUND" />
    </intent-filter>
 </activity>

Android 12变更:在Android 12设备上将SDK API 31(Android 12)设置为目标SDK的导出应用的显式声明必须在声明intent过滤器的Activity等组件中显式声明exported。
例如,必须显式声明exported,如下所示:

<service android:name="com.example.app.backgroundService"
         android:exported="false">
    <intent-filter>
        <action android:name="com.example.app.START_BACKGROUND" />
    </intent-filter>
 </service>

总之,android:exported="true""android:exported="false"必须添加到所有receiversservicesactivity标签中,并在其中包含intent过滤器。

    • 注:**

您可以在应用的文件夹obj中找到AndroidManifest.xml。我的文件夹是MyAndroidProject\obj\Debug\120\
找到AndroidManifest.xml文件后,您可以重新检查是否已将标记android:exported添加到所有receiversservicesactivity

相关问题