广播/接收方的Android错误

时间:2015-09-21 13:05:04

标签: android service broadcastreceiver

我使用两个接收器。一个人在清单中宣布:

    <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);

0 个答案:

没有答案