Blackberry 手机站点GPS跟踪中的黑莓问题
在我的BB应用程序中,我尝试使用手机站点获取位置 但它总是抛出一个位置异常:Blackberry 手机站点GPS跟踪中的黑莓问题,blackberry,gps,Blackberry,Gps,在我的BB应用程序中,我尝试使用手机站点获取位置 但它总是抛出一个位置异常: Timed out while waiting for Geolocation.m=0 这是我的密码 Criteria criteria = new Criteria(); criteria.setHorizontalAccuracy(Criteria.NO_REQUIREMENT); criteria.setVerticalAccuracy(Criteria.NO_REQUIREMENT); criteria.se
Timed out while waiting for Geolocation.m=0
这是我的密码
Criteria criteria = new Criteria();
criteria.setHorizontalAccuracy(Criteria.NO_REQUIREMENT);
criteria.setVerticalAccuracy(Criteria.NO_REQUIREMENT);
criteria.setCostAllowed(true);
criteria.setPreferredPowerConsumption(Criteria.POWER_USAGE_LOW);
LocationProvider provider = LocationProvider.getInstance(criteria);
Location location = provider.getLocation(-1);
QualifiedCoordinates qualifiedCoordinates = location.getQualifiedCoordinates();
double latitude = qualifiedCoordinates.getLatitude();
double longitude = qualifiedCoordinates.getLongitude();
但是如果我把参数改为
criteria.setHorizontalAccuracy(50);
criteria.setVerticalAccuracy(50);
criteria.setCostAllowed(true);
criteria.setPreferredPowerConsumption(Criteria.POWER_USAGE_HIGH);
辅助GPS工作正常,我将获得设备的正确位置 像vijay一样,您可以注册到位置更新
class LocationTracker{
private LocationProvider provider;
Criteria cr;
public LocationTracker() {
cr= new Criteria();
resetGPS();
}
public void resetGPS(){
try {
provider = LocationProvider.getInstance(cr);
if(provider != null) {
provider.setLocationListener(new MyLocationListener(),60, -1, -1);
}
}
catch (LocationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
class MyLocationListener implements LocationListener {
public void locationUpdated(LocationProvider provider, Location location){
if(location != null && location.isValid()){
QualifiedCoordinates qc = location.getQualifiedCoordinates();
try {
LAT = location.getQualifiedCoordinates().getLatitude();
System.out.println("=============================lattitude :: "+LAT);
LONG= location.getQualifiedCoordinates().getLongitude();
System.out.println("==================================longitude ::"+LONG);
}
catch(Exception e){
}
}
}
public void providerStateChanged(LocationProvider provider, int newState){
if(newState == LocationProvider.TEMPORARILY_UNAVAILABLE){
provider.reset();
provider.setLocationListener(null, 0, 0, -1);
}
}
}
如果您仍然想使用您的解决方案,您必须确保
-它是线程化的(不仅仅是为了不获得ANR,这也是一项要求)
-您有一张带有黑莓手机选项的SIM卡
-你至少在OS 5.0.0上运行我找到了标准。在我几周前开发的应用程序中,POWER\u USAGE\u LOW运行得很好,但在“大崩溃”之后(Sim卡或设备中)就一直不工作了。可能是BB服务的一部分工作不正常或已被禁用吗?我尝试了与我之前尝试的相同的代码,现在它工作得非常完美。。!!!无论如何,谢谢你的帮助。。。