我正在开发一个应用程序,它可以拍摄GPS编码的图片。
我能够得到大约15-20米精度GPS信号强度,当我没有运行相机,并有至少3颗卫星在射程,有时5-7颗卫星。
然而,当我开始一项活动,同时显示SurfaceView的相机连接到它和全球定位系统代码,我的准确性下降了(> 100米),但只在一些手机。
不工作的电话:
它所使用的手机:
所以,我的问题是,为什么会发生这种事?当然,我该怎么解决呢?
这是我用来增加GPS的代码
try{
locator = new GeoLocator(this);
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.addGpsStatusListener(new GPSStatusManager(locationManager));
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setPowerRequirement(Criteria.NO_REQUIREMENT);
bestProvider = locationManager.getBestProvider(criteria, true);
Bundle bundle = new Bundle();
//I copied the next two lines out of some tutorial hoping that they would help boost my gps, but I'm really not sure what they do
boolean xtraInjection=locationManager.sendExtraCommand(LocationManager.GPS_PROVIDER,
"force_xtra_injection",bundle);
boolean timeInjection=locationManager.sendExtraCommand(LocationManager.GPS_PROVIDER,
"force_time_injection",bundle);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0.0f, locator);
}catch(Exception e){}发布于 2011-08-12 20:08:04
在这里完成猜测,但是尝试更改这一行:
criteria.setPowerRequirement(Criteria.NO_REQUIREMENT);对此:
criteria.setPowerRequirement(Criteria.POWER_HIGH);理论:通过不指定高功率要求的GPS,你是允许操作系统运行在一个较低功耗模式,这是当你打开其他耗电配件。当GPS在低功耗模式下运行时,这将使其不太准确.
发布于 2013-06-18 11:26:20
Gio GTS5660 (Android2.3.6)和LG5 E610也是如此。它实际上是这个bug的一个实例,它看起来很可能是一个硬件问题:http://code.google.com/p/android/issues/detail?id=20098
https://stackoverflow.com/questions/7045659
复制相似问题