Locationhandler不会返回三星Galaxy的位置

时间:2016-01-15 13:16:13

标签: android location

我创建了一个位置跟踪器应用程序,它将移动设备的位置发送到数据库。

当我使用旧的三星设备(没有SIM卡)测试位置时,应用程序可以运行。他发送位置管理器并将其发送到数据库。

但是当我使用我的新设备测试应用程序时。一个三星银河。该应用程序不起作用。 无法计算位置,因为他说GPS已启用'是虚假的' NetworkedEnabled'也是假的..

这是我确定位置的代码。也许有人对这个奇怪的事情有了答案,谢谢

public Location getLocation() {
    try {

        ConfigurationManager();

        if (isGPSEnabled == false && isNetworkEnabled == false) {
            // no network provider is enabled
            return null;
        } else {
            this.canGetLocation = true;
            if (isNetworkEnabled) {
                location = null;
                Log.d("Network", "Network - GET LOCATION ");
                if (locationManager != null) {
                    location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
                    if (location != null) {
                        latitude = location.getLatitude();
                        longitude = location.getLongitude();
                    }
                }
            }
            if (isGPSEnabled) {
                location = null;
                if (location == null) {
                    Log.d("GPS Enabled", "GPS Enabled - GET LOCATION");
                    if (locationManager != null) {
                        location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
                        if (location != null) {
                            latitude = location.getLatitude();
                            longitude = location.getLongitude();
                        }
                    }
                }
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return location;
}

1 个答案:

答案 0 :(得分:0)

您应该使用FusedLocationProviderApi根据Android文档获取当前位置。在此处阅读更多内容:Getting the Last Known Location