0

关于这个问题,我已经浏览了很多关于 SO 的帖子:尝试了HereHereHere中的所有内容,没有任何效果。每次位置都是空的。在设备和模拟器上:(。我的 GPS 已打开,互联网已打开,我的清单具有以下权限:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

我使用以下代码来获取位置,即设备的经度和纬度......但是在每种情况下我都location得到null

public void find_Location() {
        Log.d("Find Location", "in find_location");

        String location_context = Context.LOCATION_SERVICE;
        locationManager = (LocationManager) getApplicationContext()
                .getSystemService(location_context);

        List<String> providers = locationManager.getProviders(true);
        for (String provider : providers) {
            locationManager.requestLocationUpdates(provider, 1000, 0,
                    new LocationListener() {
                        public void onLocationChanged(Location location) {}

                        public void onProviderDisabled(String provider) {
                        }

                        public void onProviderEnabled(String provider) {
                        }

                        public void onStatusChanged(String provider,
                                int status, Bundle extras) {
                        }
                    });
            Location location = locationManager.getLastKnownLocation(provider);

            if (location == null) {
                Toast.makeText(LbsGeocodingActivity.this, "Location Not found",
                        Toast.LENGTH_LONG).show();
            } else {
                double latitude = location.getLatitude();
                double longitude = location.getLongitude();
                Toast.makeText(LbsGeocodingActivity.this,
                        "LAT..." + latitude + "\nLONG..." + longitude,
                        Toast.LENGTH_LONG).show();
                // addr=ConvertPointToLocation(latitude,longitude);
                // String temp_c=SendToUrl(addr);

            }
        }
    }
4

2 回答 2

1

我怎么会这么笨......我的坏......在设置中没有选择使用无线网络!......这导致了所有问题!现在我可以得到一个位置。

我花了 16 个小时才做到这一点……我的工作效率肯定会下降!:(

于 2012-06-29T09:26:13.043 回答
1

在确定位置之前需要一些时间,并且会随着时间而改变。当您检查它时,它可能还不可用。

当定位可用时,您将在 onLocationChanged 中收到通知。

于 2012-06-29T09:19:13.950 回答