查了很多资料
了解的流程如下
它是用来做什么的:是程序之间的通信,我们可以用来插件之间的通信
它的工作流程:有广播Broadcast 就要有接收者BroadcastReceiver。
OK ,其实看归看,实际操作一下就什么都明白了。具体的概念最好找一个简短的ppt看一下,然后运行一下就了解了。
我把他们的代码贴给大家共享一下,采用的是静态注册的方式(因为有两种方式可以采用),定义发送广播的方式为无序(这个也有两种方式)。
这个Activity是调用sendBroadcast(it)来说明要发一个广播的
package com.BroadcastTest; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class BroadcastTestActivity extends Activity { public static final String NEW_LIFEFORM_DETECTED = "com.broadcasttest.NEW_LIFEFORM"; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button btn0 = (Button)findViewById(R.id.btn0); btn0.setOnClickListener(new OnClickListener() { public void onClick(View v) { Intent it = new Intent(NEW_LIFEFORM_DETECTED); sendBroadcast(it); } }); } }
那么接下来就是要接收广播的代码了:
package com.BroadcastTest; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; public class MyBroadcastReceiver extends BroadcastReceiver { public MyBroadcastReceiver () { Log.v("BROADCAST_TAG", "myBroadCast"); }
@Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub Toast.makeText(context, "成功接收广播:", Toast.LENGTH_LONG).show(); } }
下面就是配置文件中的静态注册的:
时间仓促,理解的不够深刻,欢迎多多指正!