【发布时间】:2023-04-09 11:07:01
【问题描述】:
我在 AppWidgetProvider 的 onUpdate() 方法中声明了一个 broadcastReceiver。广播接收器将监听连接变化。
IntentFilter intentFilter = new IntentFilter(connectivityChange);
context.getApplicationContext().registerReceiver(mReceiver, intentFilter);
每次我的 onUpdate() 方法启动时都会创建一个新的 broadcastReceiver 吗?
如果是,如何注销之前的广播,让我没有几十个broadcastReceiver?
context.getApplicationContext().unregisterReceiver(mReceiver);
不起作用,因为 AppWidgetProvider 丢失了 mReceiver 的实例。
编辑:我无法在清单中声明接收器,因为在清单中针对最新的 Android API 级别禁用了连接更改操作,因此我必须以编程方式注册它
【问题讨论】:
标签: java android broadcastreceiver android-broadcast android-appwidget