与动态广播不同,静态广播在应用程序安装时就会被注册,无需程序运行时动态注册。静态广播可以接收系统广播、自定义广播以及其他应用程序发送的广播。
1. 创建一个广播接收器(BroadcastReceiver)类,该类继承自android.content.BroadcastReceiver并重写其onReceive()方法。在onReceive()方法中,处理接收到的广播逻辑。
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// 处理接收到的广播逻辑
}
}
2. 在AndroidManifest.xml文件中注册广播接收器。在`<application>`标签内部添加`<receiver>`标签,并在其中指定广播接收器类和接收的广播动作。
<receiver android:name=".MyBroadcastReceiver">
<intent-filter>
<action android:name="com.example.MY_ACTION" /> // 定义接收的广播动作
</intent-filter>
</receiver>
3. 在合适的时机发送广播。可以使用sendBroadcast()或sendOrderedBroadcast()方法发送广播。在Intent对象中,可以设置广播的动作(Action)和需要传递的数据。
Intent intent = new Intent();
intent.setAction("com.example.MY_ACTION"); // 设置广播的动作
intent.putExtra("key", "value"); // 设置传递的数据
sendBroadcast(intent);
4. 在广播接收器中处理接收到的广播。当接收到广播时,广播接收器的onReceive()方法将会被调用。在MyBroadcastReceiver类中的onReceive()方法中,处理接收到的广播逻辑。
@Override
public void onReceive(Context context, Intent intent) {
String data = intent.getStringExtra("key"); // 获取传递的数据
// 处理接收到的广播逻辑
}