2011-04-11 3 views
1

Bien que j'ai défini minTime à 10 secondes dans la méthode requestLocatioupdate, je reçois toujours un nouvel emplacement en moins d'une seconde.problème avec Android fournisseur GPS: trop de mises à jour

public class GpsActivity extends Activity { 
LocationManager mLocationManager; 
TextView mTextView; 
int count; 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     mTextView = (TextView) findViewById(R.id.text); 
     count = 0; 
     mLocationManager = (LocationManager) getSystemService(LOCATION_SERVICE); 
     mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10000, 0,mGpsLocationListener); 
    } 

    Handler mHandler = new Handler(){ 

     @Override 
     public void handleMessage(Message msg){ 
      switch(msg.what){ 
      case 1: 
       mTextView.setText("new location count:"+count); 
      } 
     } 
    }; 

    LocationListener mGpsLocationListener = new LocationListener(){ 

    @Override 
    public void onLocationChanged(Location location) { 
     count++; 
     mHandler.sendEmptyMessage(1); 

    } 

    @Override 
    public void onProviderDisabled(String arg0) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void onProviderEnabled(String arg0) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void onStatusChanged(String arg0, int arg1, Bundle arg2) { 
     // TODO Auto-generated method stub 

    } 

    }; 

} 

Mon programme est écrit pour Android 2.2

Toute idée?

Merci d'avance.

Répondre

0

Vous pouvez définir une distance .si vous ne résolvez pas, vous pouvez voir: minTime l'intervalle de temps minimum pour les notifications, en millisecondes. Ce champ est uniquement utilisé comme indication pour économiser l'énergie, et le temps réel entre les mises à jour d'emplacement peut être supérieur ou inférieur à cette valeur. minDistance l'intervalle de distance minimale pour les notifications, en mètres

donc je pense que l'heure n'est pas correcte, si vous espérez mettre à jour 10s, je pense que vous devriez utiliser Time andTimeTask, ou gestionnaire. ou vous pouvez regarder http://androidforums.com/developer-101/107085-proper-provider-parameter-requestlocationupdates.html

+0

Merci beaucoup pour votre aide. – mnish

Questions connexes