广播机制-有序广播

一、多个广播接收器

public class MyReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {

        Toast.makeText(context,"接受到我的广播",Toast.LENGTH_SHORT).show();
        abortBroadcast();//截断消息广播
    }
}

public class MyReceiver2 extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Toast.makeText(context,"接受自定义2",Toast.LENGTH_SHORT).show();
    }
}

二、注册广播接收器,并指定接收顺序。android:priority越高表示优先通知

<receiver
    android:name=".MyReceiver"
    android:enabled="true"
    android:exported="true">
    <intent-filter android:priority="100">
        <action android:name="group.chicai.study.MYBOASTCASE" />
    </intent-filter>
</receiver>
<receiver
    android:name=".MyReceiver2"
    android:enabled="true"
    android:exported="true"
    >
    <intent-filter android:priority="99">
        <action android:name="group.chicai.study.MYBOASTCASE" />
    </intent-filter>
</receiver>

三、发送有序广播

Button button8 = (Button)findViewById(R.id.button8);
button8.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Intent intent = new Intent("group.chicai.study.MYBOASTCASE");
        sendOrderedBroadcast(intent,null);//就是换了个方法发送
    }
});

首页 我的博客
粤ICP备17103704号