2

GPSの状態を判断する方法を知りたいのですが、状態が異なる場合は、AVAILABLEバッテリーを節約するためにリスナーを作成しません。

ただし、実行時には常に、ではなくelse作成に入力します。LocationListenerif

これが私のコードです

public class UpdateGPS extends Thread{
    public void run(){
        while (true){
            try{
                getGPS();
                sleep(30000); //Update GPS for each 30secs
            }
            catch(Exception e){}
        }
    }
}

public void getGPS() {
    String state = "RUNNING";
    BlackBerryCriteria myCriteria = new BlackBerryCriteria(GPSInfo.GPS_MODE_ASSIST);
    try {           
    locationProvider = LocationProvider.getInstance(myCriteria);
        if (locationProvider != null) {
            if (locationProvider.getState() != locationProvider.AVAILABLE) {
                state= "STOP";
            }
            else {
                locationProvider.setLocationListener(
                      new LocationListenerImplementacion(),valor_reintento, -1, -1);
            }
        }
    }
    catch(Exception e) {}
} 

private class LocationListenerImplementacion implements LocationListener {
    public void locationUpdated(LocationProvider provider,Location location) {
        if (location.isValid()) {
           //GET DATA
        }
        else {}

    public void providerStateChanged(LocationProvider provider, int newState){

    }

}
4

0 に答える 0