如何在没有GPS的情况下获取当前位置?

时间:2016-04-08 13:03:27

标签: android

我希望使用移动网络提供商获取当前的经度和经度,而不是GPS。 AKA它应该只使用你的SIM卡没有GPS。我发现很多在线教程声称他们找到了gps或网络的位置。但是,它们似乎都只使用GPS! herehere以及here我不希望上次知道位置,因为我不想使用GPS

2 个答案:

答案 0 :(得分:0)

尝试此代码,您可以在不打开GPS的情况下获取当前位置

         btnNWShowLocation.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View arg0) {

            Location nwLocation = appLocationService
                    .getLocation(LocationManager.NETWORK_PROVIDER);

            if (nwLocation != null) {
                double latitude = nwLocation.getLatitude();
                double longitude = nwLocation.getLongitude();
                Toast.makeText(
                        getApplicationContext(),
                        "Mobile Location (NW): \nLatitude: " + latitude
                                + "\nLongitude: " + longitude,
                        Toast.LENGTH_LONG).show();

            } else {
                showSettingsAlert("NETWORK");
            }

        }
    });

答案 1 :(得分:-2)

通过位置管理器完成。

LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);

// Define a listener that responds to location updates

LocationListener locationListener = new LocationListener() {
    public void onLocationChanged(Location location) {
      // Called when a new location is found by the network location provider.
      makeUseOfNewLocation(location);
    }

    public void onStatusChanged(String provider, int status, Bundle extras) {}

    public void onProviderEnabled(String provider) {}

    public void onProviderDisabled(String provider) {}
 };

// Register the listener with the Location Manager to receive location updates
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);