Blackberry 手机站点GPS跟踪中的黑莓问题

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

在我的BB应用程序中,我尝试使用手机站点获取位置

但它总是抛出一个位置异常:

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服务的一部分工作不正常或已被禁用吗?我尝试了与我之前尝试的相同的代码,现在它工作得非常完美。。!!!无论如何,谢谢你的帮助。。。