我使用两个接收器。一个人在清单中宣布:
<receiver
android:name="com.app.receivertest"
android:exported="false"
android:enabled="true"
android:permission="MY_PERMISSION">
<intent-filter android:priority="0">
<action android:name="NAME_ACTION" />
</intent-filter>
</receiver>
在我的活动A中宣布一个,优先级为1。
当我在此活动A上启动我的服务时,在Android 4.4.2上,两个接收器都被调用,按照正确的顺序&#34;而在Android 5&gt; 0,只调用活动A中声明的正确接收者,而不是清单的接收者。
这是我在活动a中使用的接收器中的代码:
@Override
public void onReceive(Context context, Intent intent) {
Utils.log("onReceive test");
abortBroadcast();
setResultData("test");
myfunction();
}
在此代码之后,调用另一个接收器。我尝试使用&#34; setResultData&#34;,来使用&#34; getResultData&#34;在另一个接收器中,如果我有什么东西不执行代码,但getResultData总是返回null。
那么,为什么两个接收器都被调用? Android 4.4会发生什么? 我需要你的帮助:D
编辑:发送广播的代码:
Intent broadcastIntent = new Intent();
broadcastIntent.setAction(My_ACTION);
sendOrderedBroadcast(broadcastIntent, My_PERMISSION);