在 Android 中注册广播有两种方式:
1. 静态注册:在 AndroidManifest.xml 文件中定义
```xml
```
2. 动态注册:在代码中使用 `registerReceiver()` 方法来注册广播接收器。这种方式适用于需要在程序运行时动态注册和注销广播接收器的情况。例如:
```java
private BroadcastReceiver mReceiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mReceiver = new MyBroadcastReceiver();
IntentFilter filter = new IntentFilter("com.example.action.MY_BROADCAST");
registerReceiver(mReceiver, filter);
}
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(mReceiver);
}
private class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// 处理接收到的广播
}
}
```
需要注意的是,动态注册的广播接收器需要在不需要接收广播时及时注销,否则可能会造成内存泄露。