我正在开发gps定位应用,我的问题是在我的 Galaxy S2 ICS 4.0.3 上,gps需要很长时间才能调用onLocationChanged,锁定需要很长时间,有时候不会t锁定,代码如下。
LocationManager lm = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
MyLocationListener listener = new MyLocationListener();
if (lm.isProviderEnabled(LocationManager.GPS_PROVIDER))
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 100, 0, listener);
else
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 100, 0, listener);
// Location Listener class
private class MyLocationListener implements LocationListener{
public void onLocationChanged(Location loc) {
if(loc != null)
txtLocation.setText("Lat: "+loc.getLatitude() + " Lng: "+loc.getLongitude());
else
Toast.makeText(MainActivity.this, "Loc == null", Toast.LENGTH_LONG).show();
}
public void onProviderDisabled(String arg0) {}
public void onProviderEnabled(String arg0) {}
public void onStatusChanged(String arg0, int arg1, Bundle arg2) { }
}
我已在 Galaxy y(2.3.6)和 HTC Explorer(2.3.6)上测试了此代码,它的工作速度非常快,并且可以像4-5秒!!
现在是我的Galaxy s2或者ics问题,因为我已经使用XXLPJ固件 S2扎根
我该怎么办才能摆脱这个问题?
提前致谢。
答案 0 :(得分:0)
许多GPS设备使用Extra XTRA数据进行快速卫星锁定,但此数据需要每7天更新一次。
您在Google Play中有一些程序可以选择强制进行此更新(例如GPS Status)。您需要连接到Internet才能下载数据。
如果没有解决,可能会遇到ROM问题或GPS故障。
问候。