我正在使用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
}
};
答案 0 :(得分:0)
然后,如果您将该设备放置室外一段时间,它可能会起作用。在某些低端设备中,gps可能根本无法正常工作。否则也尝试升级GooglePlayServices。另外,我建议您使用多个提供程序,而不是仅使用一个NETWORK_PROVIDER
答案 1 :(得分:0)
有时,特定设备的Google Play服务已过时 我遇到过类似的问题。 你的代码似乎很好 唯一的问题可能是google playe服务已经过时了。