问题描述
我已经花了很多资源来解决这个问题,但是没有一个令人满意的解释或解决方案。我经历过的一些内容是:
Broadcast receiver called 2 times when turning off GPS?
My BroadcastReceiver is called two times when turning on/off wifi or gps?
android.location.PROVIDERS_CHANGED BroadcastReceiver fires off many times
How to catch GPS off broadcast once?
因此,我正在重新发布这个问题。
问题陈述很简单,我有一个广播接收器,只要设备的GPS /位置状态发生变化,它就会触发。问题在于onReceive()方法被调用了多次(准确地说是4次)。
我已在我的清单文件中注册了接收人(并且没有其他地方):
<receiver android:name=".broadcasts.DeviceGpsStatusReceiver">
<intent-filter>
<action android:name="android.location.PROVIDERS_CHANGED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
我还确保此接收者未在我的应用程序中的其他任何地方注册。
广播接收器的设计如下:
@Override
public void onReceive(Context context,Intent intent) {
if (intent.getAction().matches("android.location.PROVIDERS_CHANGED")) {
// my content
}
}
即使进行了此更改,我仍然看到多次触发onReceive()重写方法。为什么会这样呢?有办法解决这个问题吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)