Android中创建广播并发送的代码示例
时间: 2024-09-11 13:09:44 浏览: 21
在Android中,广播(Broadcast Receiver)是一种机制,用于应用程序之间传递事件或数据。以下是一个简单的代码示例,展示了如何创建一个广播接收者并注册它以便接收自定义广播:
```java
// 定义广播接收者的类,需要继承BroadcastReceiver
public class MyCustomBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// 这里处理接收到的意图数据
String action = intent.getAction();
if (MyCustomAction.ACTION_MY_EVENT.equals(action)) {
// 对于自定义动作"ACTION_MY_EVENT",你可以添加具体的业务逻辑
Log.d("MyReceiver", "Received custom event: " + action);
}
}
}
// 在需要发送广播的地方(通常是Activity或Service)
Intent myIntent = new Intent(MyCustomAction.ACTION_MY_EVENT);
myIntent.putExtra("key", "value"); // 添加额外的数据如果需要
// 注册广播接收者
registerReceiver(MyCustomBroadcastReceiver.getInstance(), new IntentFilter(MyCustomAction.ACTION_MY_EVENT));
// 发送广播
context.sendBroadcast(myIntent);
// 在不需要时,记得注销接收者
unregisterReceiver(MyCustomBroadcastReceiver.getInstance());
```
在这个例子中,`MyCustomBroadcastReceiver`是一个广播接收者,它监听特定的动作(`ACTION_MY_EVENT`)。`sendBroadcast()`方法用于发送广播,而`registerReceiver()`则用于在应用启动时注册这个接收器。当你不再需要接收者时,别忘了调用`unregisterReceiver()`。