[android]无法为用户获取经度和纬度location

发布时间: 2016/9/25 23:00:55
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

目前,我 manifest.xml 设置为下列权限访问 location :

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

我的 mainActivity.java 文件具有以下代码为 LocationManager 和 requestLocationUpdates():

    locationmanager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);

    locationmanager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 10, locationlistener);

与 @Override 方法︰

    @Override
    public void onLocationChanged(Location location) {
    this.location = location;
    longitude = location.getLongitude();
    latitude = location.getLatitude();
}

代码给出任何错误。然而,上述代码的结果是 0.00 的经度和纬度。

PS︰ 只有特定部分的代码被捡起从 MainActivity 文件。将准备编辑的问题,如果需要的更多详细信息。

解决方法 1:

请确保您 locationlistener 定义如下所示。添加此类里面你mainActivity.java

class locationlistener implements LocationListener {


            @Override
            public void onLocationChanged(Location location) {

                   //play with location

            }

            @Override
            public void onStatusChanged(String s, int i, Bundle bundle) {
                switch (i) {
                    case LocationProvider.AVAILABLE:
                        Log.i("LocationListener", "GPS Available");
                        break;
                    case LocationProvider.OUT_OF_SERVICE:
                        Log.e("LocationListener", "GPS Out Of Service");
                        break;
                    case LocationProvider.TEMPORARILY_UNAVAILABLE:
                        Log.w("LocationListener", "GPS Temporarily Unavailable");
                        break;
                    default:
                        Log.e("LocationListener", "Status changed");
                }

            }

            @Override
            public void onProviderEnabled(String s) {
                Log.e("Location", "Location was enabled");
            }

            @Override
            public void onProviderDisabled(String s) {
                Log.e("Location", "Location was disabled");
            }
        }
官方微信
官方QQ群
31647020