0

特定の間隔で locationManager から位置の更新を要求し、minDistance を無視する方法はありますか? 私はもう試した

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3600 * 1000, 1, this)

しかし、ログには、場所が数分で更新されることもあれば、30分で更新されることもあります...これを実行して、一定の間隔で場所を更新し、距離を無視することはできますか?

4

1 に答える 1

1

このスキーマを使用できます。必要なときに毎回呼び出される新しい Runnable を作成します

private final Handler _handler = new Handler();
private static int DATA_INTERVAL =  60 * 1000;

private final Runnable getData = new Runnable()
{
    @Override
    public void run()
    {
        getDataFrame();
    }
};
private void getDataFrame() 
{
    requestGPS();
    Timer time = new Timer();
    time.schedule(new TimerTask() {
            @Override
            public void run() {
                _locationManager.removeUpdates(_connector);
                this.cancel();
            }
        }, 5000, 5000);
    _handler.postDelayed(getData, DATA_INTERVAL);
}
private void requestGPS() 
{
    _locationManager.requestLocationUpdates(
    LocationManager.GPS_PROVIDER,
                0,
                0,
                _connector);
}
于 2011-05-10T09:29:04.600 に答える