设备位置始终为空

时间:2012-06-29 09:13:07

标签: android gps android-location

关于这个问题,我在SO上发了很多帖子: 试过Here中的所有内容, HereHere没有任何作用。每次位置都为空。在设备上和模拟器上:(。我的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);

            }
        }
    }

2 个答案:

答案 0 :(得分:1)

确定位置需要一些时间,并且可能会随着时间的推移而改变。当你检查它时,它可能还没有。

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

答案 1 :(得分:1)

我怎么可能这么傻......我很糟糕......在设置中使用无线网络没有被选中!....这导致所有问题! 现在我能够获得一个位置。

我花了16个小时来达到这个目标......我的生产力肯定会下降! :(