我在我的应用程序中使用LocationListener
,并为其分配了两个提供程序(GPS_PROVIDER
和NETWORK_PROVIDER
),此侦听器有四个回调(onLocationChanged
,{ {1}},onStatusChanged
和onProviderEnabled
)。
我对GPS没有任何问题,因为当我将其关闭或onProviderDisabled
和onProviderEnabled
回调工作时。问题是当我改变我的WIFI状态时,不会调用这些回调。
我找到了一些关于它的信息,并创建了一种方法来判断设备中是否有互联网,问题是如果我有互联网,我分配onProviderDisabled
然后我关掉我的wifi最终没有调用回调,然后我无法管理它。
如何正确配置网络提供商?
代码:
分配提供者:
NETWORK_PROVIDER
addProvider方法:
isGpsEnabled = locationManager.isProviderEnabled(GPS_PROVIDER);
isNetworkEnabled = locationManager.isProviderEnabled(NETWORK_PROVIDER) && isNetworkAvailable();
if(!isGpsEnabled && !isNetworkEnabled) {
this.gpsAware.onGpsError("Your Gps providers are not available");
throw new Exception("Verify your GPS or Network connection");
} else {
if(isNetworkEnabled)
addProvider(NETWORK_PROVIDER);
if(isGpsEnabled)
addProvider(GPS_PROVIDER);