проблема с Android-провайдером GPS: слишком много обновлений - PullRequest
1 голос
/ 11 апреля 2011

Хотя я установил minTime на 10 секунд в методе requestLocatioupdate, я все же получил новое местоположение менее чем за одну секунду.

 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

    }

    };

}

Моя программа написана для Android 2.2

Есть идеи?

Заранее спасибо.

1 Ответ

0 голосов
/ 12 апреля 2011

Вы можете установить расстояние. Если не решить, вы можете увидеть: minTime минимальный интервал времени для уведомлений, в миллисекундах.Это поле используется только как подсказка для экономии энергии, и фактическое время между обновлениями местоположения может быть больше или меньше, чем это значение.minDistance минимальный интервал расстояния для уведомлений, в метрах

, поэтому я думаю, что время не правильное, если вы надеетесь обновить 10 с, я думаю, вам следует использовать Time andTimeTask или обработчик.или вы можете посмотреть http://androidforums.com/developer-101/107085-proper-provider-parameter-requestlocationupdates.html

...