android如何为具有不同权限和意图过滤器的同一广播接收器解析AndroidManifest中的多个条目?

android如何为具有不同权限和意图过滤器的同一广播接收器解析AndroidManifest中的多个条目?,android,android-manifest,Android,Android Manifest,我遇到了定义特定于特定广播接收器的意图过滤器的权限的问题。我想知道Android将如何解决下面的问题,以及是否有更好的方法来做到这一点 <receiver android:name=".MyReceiver" android:permission="com.permission.XY" android:exported="true"> <intent-filter>

我遇到了定义特定于特定广播接收器的意图过滤器的权限的问题。我想知道Android将如何解决下面的问题,以及是否有更好的方法来做到这一点

    <receiver android:name=".MyReceiver" 
              android:permission="com.permission.XY"
              android:exported="true">
        <intent-filter>
            <action android:name="com.local.intent.ACT" />
        </intent-filter>
    </receiver>

    <receiver android:name=".MyReceiver" 
              android:permission="com.permission.Z"
              android:exported="true">
        <intent-filter>
            <action android:name="com.local.intent.SLOW_ACT" />
        </intent-filter>
    </receiver>


我想知道如果上述两个接收者标签都包含在AndroidManifest中,Android将如何解决它,以及它是否允许我实现我的意图,即强制XY为ACT intent,Z为SLOW_ACT。请注意,这两个对象都是同一个receiver对象。

我真的不确定它将如何处理这两个不同的对象,但无论如何,我要说的是,为一个接收方使用两个清单列表是一种不好的做法。你可以做的就是制作两个广播接收器,或者制作一个带有两个目的过滤器的接收器。然后,您可以使用额外的数据来控制它是否与您想要的匹配

真的,不过我推荐两个接收器


我认为你的一个接收者会有两个意图过滤器,而且每次通话都需要两个权限。实际上,您所能做的就是对其进行测试。

根据测试结果,它正按照我的预期工作。所以Android在这里做的是正确的。但正如你所建议的,这可能是一种不好的做法。我会努力改进的。