发送有序广播

来源:互联网 发布:斗鱼手机客户端无网络 编辑:程序博客网 时间:2024/05/18 03:13

新建项目,同样创建一个广播监听器:

public class AnotherBroadcastReceiver extends BroadcastReceiver {    @Override    public void onReceive(Context context, Intent intent) {        // TODO Auto-generated method stub        Toast.makeText(context, "RECEIVED IN ANOTHERBROADCASTRECEIVER",                Toast.LENGTH_LONG).show();    }}

并且在AndroidManifest.XML文件中进行注册:

        <receiver android:name=".AnotherBroadcastReceiver" >            <intent-filter>                <action android:name="com.example.broadcasttest.MY_BROADCAST" />            </intent-filter>        </receiver>

可以看到,我们这里的监听器同样是监听com.example.broadcasttest.MY_BROADCAST这条广播,安装程序点击上一个程序的按钮,观察广播。可以看到发出了两条广播,
现在我们修改上一个项目的代码:

            @Override            public void onClick(View v) {                Intent intent = new Intent("com.example.broadcasttest.MY_BROADCAST");                //sendBroadcast(intent);                sendOrderedBroadcast(intent, null);            }

修改AndroidManifest.XML文件来控制广播的先后顺序:

        <receiver android:name=".MyBroadcastReceiver" >            <intent-filter android.priority="100">                <action android:name="com.example.broadcasttest.MY_BROADCAST" />            </intent-filter>        </receiver>

这里使用android:priority=”100”来设定了优先级,保证他一定会在AnotherBroadercastReceiver之前接收到广播。

1 0
原创粉丝点击