Android的BroadcastReceiver组件怎么使用

1021
2023/8/30 22:21:02
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

要使用Android的BroadcastReceiver组件,首先需要创建一个类,继承自BroadcastReceiver,并实现onReceive()方法。在onReceive()方法中,可以编写接收到广播后需要执行的代码逻辑。
以下是一个示例代码:

public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// 在这里编写接收到广播后需要执行的代码逻辑
// 可以根据接收到的广播内容进行相应的处理
}
}

接下来,需要在AndroidManifest.xml文件中注册这个BroadcastReceiver。在标签内添加如下代码:






上述代码中,android:name属性指定了BroadcastReceiver类的完整类名,android:enabled属性指定了该组件是否可用,android:exported属性指定了该组件是否可以被其他应用程序调用。
标签内,可以添加需要接收的广播action。上述示例代码中,添加了接收系统启动完成的广播action(android.intent.action.BOOT_COMPLETED),你可以根据需要添加其他需要接收的广播action。
最后,需要在代码中动态注册Receiver,这样才能接收到相应的广播。可以在Activity中的onCreate()方法中添加如下代码:

MyBroadcastReceiver receiver = new MyBroadcastReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction("android.intent.action.BOOT_COMPLETED");
// 在这里添加其他需要接收的广播action
registerReceiver(receiver, filter);

上述代码中,首先创建了一个MyBroadcastReceiver的实例,然后创建了一个IntentFilter对象,并添加了需要接收的广播action。最后,通过registerReceiver()方法将BroadcastReceiver注册到系统中。
记得在不需要接收广播时,要在Activity的onDestroy()方法中调用unregisterReceiver()方法取消注册,避免内存泄露:

unregisterReceiver(receiver);

通过以上步骤,就可以使用Android的BroadcastReceiver组件来接收相应的广播了。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: android动态添加控件的方法是什么