android 注册静态广播
时间: 2024-10-16 08:05:35 浏览: 6
在Android中,注册静态广播(BroadcastReceiver)通常用于监听系统或其他应用发送的消息。以下是注册静态广播的基本步骤:
1. **创建BroadcastReceiver类**:
创建一个继承自`BroadcastReceiver`的静态内部类,因为静态 BroadcastReceiver 可以在不需要实例化的情况下接收广播。
```java
public class MyStaticBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// 在这里处理接收到的Intent
Log.d("MyApp", "Received broadcast: " + intent.getAction());
}
}
```
2. **在Manifest.xml中声明**:
在应用程序的`<application>`标签下添加 `<receiver>` 标签,声明这个静态BroadcastReceiver,并设置它需要监听的意图动作(intent action):
```xml
<application>
<receiver android:name=".MyStaticBroadcastReceiver">
<intent-filter>
<action android:name="com.example.ACTION_BROADCAST" />
<!-- 或其他你需要监听的意图 -->
</intent-filter>
</receiver>
</application>
```
3. **启动接收器**:
如果需要在特定条件下启动接收器,可以在需要的地方调用 `registerReceiver()` 函数,传递接收器和意图过滤器:
```java
Context appContext = getApplicationContext();
IntentFilter filter = new IntentFilter("com.example.ACTION_BROADCAST");
appContext.registerReceiver(MyStaticBroadcastReceiver.class, filter);
```
4. **停止接收器**:
当不再需要接收广播时,可以调用 `unregisterReceiver()` 来关闭接收器:
```java
appContext.unregisterReceiver(MyStaticBroadcastReceiver.class);
```
阅读全文