Android 保持广播接收器处于配置更改状态

Android 保持广播接收器处于配置更改状态,android,android-intent,service,location,broadcastreceiver,Android,Android Intent,Service,Location,Broadcastreceiver,我可能认为这是错误的。。。我在应用程序中使用后台服务来频繁跟踪位置更新 由于存在位置客户端可能断开连接或连接可能失败的可能性,我在这些方法中(在服务中)实现了广播消息的意图新意图(广播连接失败)以便收到我的应用程序时可以采取适当的操作(如更新GUI,关闭跟踪等) 因此,到目前为止,我所做的是在GPS服务打开时在我的活动中注册连接失败的接收器,但我不会在我的应用进入后台时取消注册它(因为我想在后台接收广播)。但是,这给我带来了一个问题,因为每当配置发生更改(屏幕旋转等)时,它都会尝试再次注册连接失

我可能认为这是错误的。。。我在应用程序中使用后台服务来频繁跟踪位置更新

由于存在位置客户端可能断开连接或连接可能失败的可能性,我在这些方法中(在服务中)实现了广播消息的意图
新意图(广播连接失败)以便收到我的应用程序时可以采取适当的操作(如更新GUI,关闭跟踪等)

因此,到目前为止,我所做的是在GPS服务打开时在我的活动中注册连接失败的接收器,但我不会在我的应用进入后台时取消注册它(因为我想在后台接收广播)。但是,这给我带来了一个问题,因为每当配置发生更改(屏幕旋转等)时,它都会尝试再次注册连接失败的接收器(并且由于它已经注册),它会引发异常(
Activity com.bla.bla.MainActivity已泄漏IntentReceiver…


那么关于这一点,我应该如何最优雅地解决这个问题呢?

在onDestroy中注销receiver,并在onCreate()中注册它,这样一旦再次调用配置更改,receiver就会被注册。@kalyanpvs我不想在onDestroy中注销它,因为我想让它在后台保持活动状态(如我所述)接收者也可以作为独立接收者,因此不必绑定到活动。(您可以在清单中注册这些)@PeterWarbo如果您的活动位于后台onDestroy未调用..请检查活动生命周期一次