android 监听多个广播
时间: 2023-08-24 16:09:50 浏览: 62
要监听多个广播,可以使用动态注册广播接收器的方式。以下是一个示例代码,可以监听多个广播:
```
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals("android.intent.action.BATTERY_CHANGED")) {
// 处理电量变化的广播
} else if (action.equals("android.net.conn.CONNECTIVITY_CHANGE")) {
// 处理网络连接变化的广播
} else if (action.equals("android.intent.action.TIMEZONE_CHANGED")) {
// 处理时区变化的广播
}
// ...
}
}
// 在Activity或Service中注册广播接收器
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_BATTERY_CHANGED);
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
filter.addAction(Intent.ACTION_TIMEZONE_CHANGED);
MyBroadcastReceiver receiver = new MyBroadcastReceiver();
registerReceiver(receiver, filter);
```
在示例中,我们创建了一个名为 `MyBroadcastReceiver` 的广播接收器,并在它的 `onReceive()` 方法中处理了多个广播。在 Activity 或 Service 中,我们创建了一个 `IntentFilter` 对象,添加了多个广播的 action,并将 `MyBroadcastReceiver` 注册为广播接收器。