2014.10.12总结

来源:互联网 发布:三星ml1641清零软件 编辑:程序博客网 时间:2024/06/06 08:39

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

1.广播接收器,继承BroadcastReceiver

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

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

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

一.本地广播

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

public class MainActivity extends Activity {private IntentFilter intentFilter;private LocalReceiver localreceiver;private LocalBroadcastManager localBroadcastManager;@Overrideprotected 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() {@Overridepublic 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 {@Overridepublic void onReceive(Context context, Intent intent) {//广播接收器Toast.makeText(context, "received local broadcast",Toast.LENGTH_LONG).show();}}}

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

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


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

0 0
原创粉丝点击