Broadcast注册的两种方法
时间: 2024-05-07 12:21:37 浏览: 12
在Android中,可以通过两种方式注册BroadcastReceiver:
1. 在AndroidManifest.xml文件中注册BroadcastReceiver:将BroadcastReceiver的类名在AndroidManifest.xml文件中声明,系统会在应用启动时自动注册该BroadcastReceiver。例如:
```xml
<receiver android:name=".MyBroadcastReceiver" />
```
2. 在代码中动态注册BroadcastReceiver:在应用运行时通过代码注册BroadcastReceiver,可以灵活控制BroadcastReceiver的生命周期和接收广播的时机。例如:
```java
MyBroadcastReceiver receiver = new MyBroadcastReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_POWER_CONNECTED);
filter.addAction(Intent.ACTION_POWER_DISCONNECTED);
registerReceiver(receiver, filter);
```
需要注意的是,动态注册的BroadcastReceiver需要在不需要接收广播时及时解除注册,否则会导致内存泄漏。可以在Activity的onDestroy()方法中调用unregisterReceiver()方法解除注册,例如:
```java
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(receiver);
}
```