1

requestLocatioupdate メソッドで minTime を 10 秒に設定しましたが、それでも 1 秒もかからずに新しい場所を取得できます。

 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用に書かれています

何か案が?

前もって感謝します。

4

1 に答える 1

0

距離を設定できます。解決しない場合は、:minTime 通知の最小時間間隔 (ミリ秒) を確認できます。このフィールドは、電力を節約するためのヒントとしてのみ使用されます。実際の場所の更新間隔は、この値よりも大きい場合も小さい場合もあります。minDistance 通知の最小距離間隔 (メートル単位)

10 秒の更新を希望する場合は、Time と TimeTask、またはハンドラーを使用する必要があると思います。またはhttp://androidforums.com/developer-101/107085-proper-provider-parameter-requestlocationupdates.htmlを見ることができます

于 2011-04-12T10:43:45.373 に答える