Android - 位置监听器NETWORK_PROVIDER

时间:2016-05-26 15:15:43

标签: android locationmanager locationlistener android-gps

我在我的应用程序中使用LocationListener,并为其分配了两个提供程序(GPS_PROVIDERNETWORK_PROVIDER),此侦听器有四个回调(onLocationChanged,{ {1}},onStatusChangedonProviderEnabled)。

我对GPS没有任何问题,因为当我将其关闭或onProviderDisabledonProviderEnabled回调工作时。问题是当我改变我的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);

0 个答案:

没有答案