您的位置:首页 > 其它

安卓四大组件复习----自定义广播(三)

2014-11-10 13:06 405 查看
前面一直监听系统的广播,这时候我们应该想想 应该我们可以自己发送广播,自己监听的。

思路:一个应用发送 发送广播 一个应用接收应用

这时候,广播也有很多种,无序广播和 有序广播 在于发送方式

//sendBroadcast(intent); //发送一条无序的广播事件

先看发送应用代码

package com.example.Demo123;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }
    public void  btn(View view){
        Intent intent=new Intent();
        intent.setAction("com.itheima.xxxooo");
            //把这个自定义的广播发送出去
                //sendBroadcast(intent); //发送一条无序的广播事件
                //如果广播事件是无序发送出去的 所有的广播接受者 都会接受到这个事件
                
                //如果广播是有序的发送出去的, 广播接收者会按照优先级 接受到广播事件
                // 有序广播 特点: 高优先级的广播接受者 可以终止掉 广播事件
                //sendOrderedBroadcast(intent, null);
                
                
                sendOrderedBroadcast(intent, null, new FinalRecevier(), null, 0, null, null);
    }
}
记得注册广播 可以看到发送类 是设置了 广播的名称的 然后通过 Intent发送

接收应用呢

配置文件

<receiver android:name=".MyBroadcastReceiver" >

<intent-filter android:priority="1000">

<action android:name="com.itheima.xxxooo" >

</action>

</intent-filter>

一个广播类 收到以后直接 toast一下

package com.example.module3g;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;

public class MyBroadcastReceiver extends BroadcastReceiver {

	@Override
	public void onReceive(Context context, Intent intent) {
		System.out.println("reveriver 1 接收到了广播");
		Toast.makeText(context, "检查到了 自定义的广播事件", 1).show();
	}

	
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: