【问题标题】:Error getting Location Android (GPS and Network)获取位置 Android 时出错(GPS 和网络)
【发布时间】:2013-11-07 08:08:02
【问题描述】:

我想使用以下代码在我的 APP 中获取位置:

public Location getLocation() {     

    boolean isGPSEnabled     = false;
    boolean isNetworkEnabled = false;

    try {   

        // Getting GPS and Network status
        isGPSEnabled     = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
        isNetworkEnabled = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);

        if (!isGPSEnabled && !isNetworkEnabled) return null;

        LocationManager manager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
        location                = manager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

        if ((location != null && (location.getTime() + 60000 < System.currentTimeMillis())) || 
                location == null){
            location = manager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
        }                           

    } catch (Exception e) {
        e.printStackTrace(); 
        return null;
    }

    return location;
}

当我使用 Nexus 4 时,它可以正常工作并且位置具有价值。但是当我在 Galaxy S2 location = null 中执行相同的代码时。

在调用该函数之前,我已经检查了 GPS 和网络是否都已启用。

你会如何修正这个函数?

在调用这个函数之前,我先调用这个函数:

public void startLocation() {

    try {
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,MIN_TIME_BW_UPDATES,MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
        locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,MIN_TIME_BW_UPDATES, MIN_DISTANCE_CHANGE_FOR_UPDATES, this);    

    } catch (Exception e) {
        e.printStackTrace(); 
    }
}

【问题讨论】:

    标签: android geolocation gps


    【解决方案1】:

    如果设备还没有找到位置,它将返回 null。

    我敢打赌,如果您在打开应用程序之前打开 Google 地图并让它找到您,它会按预期工作。

    查看我对Location servise GPS Force closed 的回复。 这是一个关于如何实现回调以在位置可用时通知您的示例。

    【讨论】:

      【解决方案2】:

      我认为您必须通过调用 .request... 函数之一来触发它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-12-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-04
        • 1970-01-01
        • 2013-05-15
        • 1970-01-01
        相关资源
        最近更新 更多