Gps有时在某些Android应用程序中无法正常工作

时间:2014-09-25 06:36:59

标签: android gps

我正在使用Gps在我的应用程序中获取当前的lat和long,它与android 2.3.3很好地工作,甚至在我的一些更高版本的android设备中,但有时在某些设备中它只是表现相反,尽管gps正在显示错误信息表明GPS未连接请打开gps这是我在gps未检测到时使用的消息。有人可以帮我这个吗? 以下是我检测和获取GPS的代码

    private void bindgeocodelocation() {
    latlong = new ArrayList<String>();

    latlong = GeneralFunction.getcurrentlocation(Search.this);
    if (latlong == null) {
        LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        Location loc = lm
                .getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
        lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 100, 1,
                locationListener);
        if (loc != null) {
            latlong = new ArrayList<String>();
            latlong.add("" + loc.getLatitude());
            latlong.add("" + loc.getLongitude());
        } else if (lm != null) {
            lm.removeUpdates(locationListener);
        }
    }

}

private final LocationListener locationListener = new LocationListener() {
    public void onLocationChanged(Location location) {

        try {
            latlong = new ArrayList<String>();
            latlong.add(location.getLatitude() + "");
            latlong.add(location.getLongitude() + "");
            // webviewdata();
        } catch (Exception e) {
            Log.e("Error", e.getMessage().toString());
        }

    }

    @Override
    public void onProviderDisabled(String provider) {
        Log.i("Info", "Provider disable");

    }

    @Override
    public void onProviderEnabled(String provider) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {
        // TODO Auto-generated method stub

    }
};

2 个答案:

答案 0 :(得分:0)

然后,如果您将该设备放置室外一段时间,它可能会起作用。在某些低端设备中,gps可能根本无法正常工作。否则也尝试升级GooglePlayServices。另外,我建议您使用多个提供程序,而不是仅使用一个NETWORK_PROVIDER

答案 1 :(得分:0)

有时,特定设备的Google Play服务已过时 我遇到过类似的问题。 你的代码似乎很好 唯一的问题可能是google playe服务已经过时了。

相关问题