新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

​Android中registerReceiver(mReceiver, mFilter)如何用

发布时间:2023-11-01 12:40:26

​Android中registerReceiver(mReceiver, mFilter)如何用

在Android中,registerReceiver()方法用于注册一个BroadcastReceiver对象,以接收特定类型的广播消息。

使用方法以下:

  1. 创建一个BroadcastReceiver对象和一个IntentFilter对象。
BroadcastReceiver mReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        // 在这里处理接收到的广播消息
    }
};

IntentFilter mFilter = new IntentFilter();
mFilter.addAction("android.intent.action.SOME_ACTION"); // 添加你要接收的广播消息的action
  1. 在Activity或Service中调用registerReceiver()方法注册广播接收者。
registerReceiver(mReceiver, mFilter);
  1. 当接收到匹配的广播消息时,BroadcastReceiver的onReceive()方法会被调用。
@Override
public void onReceive(Context context, Intent intent) {
    // 在这里处理接收到的广播消息
}

注意事项:

  • 记得在不需要接收广播消息时调用unregisterReceiver()方法注销广播接收者,避免内存泄漏。
  • 在AndroidManifest.xml文件中声明BroadcastReceiver对象时,也能够指定接收的广播消息的action。这样在利用程序未运行时,也能接收到相应的广播消息。