0

我想构建一个应用程序,它将使用cellular Network和提供当前位置WiFi

我喜欢同时从两个提供商那里获取位置,然后决定哪个提供商给我最好的。

现在我从网络获取位置

LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener locationlistenerforNetwork = new mylocationlistenerNetwork();
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationlistenerforNetwork);

private class mylocationlistenerNetwork implements LocationListener {
      @Override
      public void onLocationChanged(Location location) {
          if (location != null) {
          Log.d("LOCATION CHANGED", location.getLatitude() + " ");
          Log.d("LOCATION CHANGED", location.getLongitude() + " ");
          Toast.makeText(LocationActivity.this,"latitude: "+
              location.getLatitude() + "longitude: " + location.getLongitude()
              + " Provider:" + location.getProvider() + " Accuracy:" + location.getAccuracy(),
              Toast.LENGTH_LONG).show();

          }
      }
      @Override
      public void onProviderDisabled(String provider) {
      }
      @Override
      public void onProviderEnabled(String provider) {
      }
      @Override
      public void onStatusChanged(String provider, int status, Bundle extras) {}
      }

我也想从WiFi. 请帮忙。

4

1 回答 1

1

请参阅位置管理器

有这些提供者:

来自文档:

公共静态最终字符串 NETWORK_PROVIDER

网络位置提供商的名称。该提供商根据蜂窝塔和 WiFi 接入点的可用性确定位置。通过网络查找检索结果。需要权限 android.permission.ACCESS_COARSE_LOCATION 或 android.permission.ACCESS_FINE_LOCATION。

没有单独的 WiFi 提供商。使用NETWORK_PROVIDER您也可以根据 WiFi 接入点确定位置。

于 2012-07-21T13:44:09.187 回答