- 发送广播
在应用程序中发送广播比较简单。只需要调用sendBroadcast方法即可,该方法需要一个Intent对象,通过Intent对象可以发送需要广播的数据。
/ 通过Intent类的构造方法指定广播的ID
Intent intent = new Intent("net.blogjava.mobile.MYBROADCAST");
// 将要广播的数据添加到Intent对象中
intent.putExtra("text", editText.getText().toString());
// 发送广播
sendBroadcast(intent);
发送广播并不需要在AndroidManifest.xml文件中注册,但接收广播必须在AndroidManifest.xml文件中注册 receiver。
- 接收广播
java类
package net.blogjava.mobile.receiver;
... ...
public class MyReceiver extends BroadcastReceiver
{
// 当sendbroadcast发送广播时,系统会调用onReceive方法来接收广播
@Override
public void onReceive(Context context, Intent intent)
{
// 判断是否为sendbroadcast发送的广播
if ("net.blogjava.mobile.MYBROADCAST".equals(intent.getAction()))
{
Bundle bundle = intent.getExtras();
if (bundle != null)
{
String text = bundle.getString("text");
Toast.makeText(context, "成功接收广播:" + text, Toast.LENGTH_LONG).show();
}
}
}
}
_ 在AndroidManifest.xml文件中注册receiver_
<!-- 注册receiver
<receiver android:name="MyReceiver">
<intent-filter>
<action android:name="net.blogjava.mobile.MYBROADCAST" />
</intent-filter>
</receiver>