2014.10.12总结

上午又好好看了看昨天的笔记,感觉逻辑比较混乱,其实广播有三点就够了

1.广播接收器,继承BroadcastReceiver

2.发送广播,例如在onClick方法中使用sendBroadcast

3.进行注册监听,在AndroidManifest.xml文件中

这是主要的核心,具体的广播具体实现。

一.本地广播

为了安全起见,引入本地广播,广播只能在应用程序内部传递,广播接收器也只能接收来自本应用程序发出的广播

public class MainActivity extends Activity {

	private IntentFilter intentFilter;
	private LocalReceiver localreceiver;
	private LocalBroadcastManager localBroadcastManager;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.activity_main);
		localBroadcastManager = LocalBroadcastManager.getInstance(this);
		Button button = (Button) findViewById(R.id.button);
		button.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				Intent intent = new Intent(
						"com.example.broadcastlocal.LOCAL_BROADCAST");
				localBroadcastManager.sendBroadcast(intent);//发送本地广播
			}
		});
		intentFilter = new IntentFilter();
		intentFilter.addAction("com.example.broadcastlocal.LOCAL_BROADCAST");
		localreceiver = new LocalReceiver();
		localBroadcastManager.registerReceiver(localreceiver, intentFilter);//注册本地广播监听器
	}

	private void onDestory() {
		super.onDestroy();
		localBroadcastManager.unregisterReceiver(localreceiver);

	}

	class LocalReceiver extends BroadcastReceiver {

		@Override
		public void onReceive(Context context, Intent intent) {//广播接收器
			Toast.makeText(context, "received local broadcast",
					Toast.LENGTH_LONG).show();

		}

	}
}

在本地广播中,注册监听放在了onCreate()方法里面了

首先通过LocalBroadcastManager的getInstance()方法取得实例,在注册广播接收器的时候调用localBroadcastManager的registerReceiver()方法,发送的时候调用的是localBroadcastManager的sendBroadcast()方法,接收还是一样,新建类继承BroadcastReceiver即可


今天上午写的一个程序,怎么也出不来广播,调了半天,最后才发现是有个字母没打上去,字符串中的东西,错了也不报错,以后得多加小心了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值