繁体   English   中英

Android make方法每X秒运行一次(涉及gps和服务器调用)

[英]Android make method run every X seconds (involves gps and server call)

我有一个利基应用程序,需要每隔几秒发送一个服务器的位置。 (不要担心手机的电池寿命)。 我如何每隔几秒钟创建一个线程或某个东西? 我有一个gpslistener,但其子类的名称是"onlocationchanged" ,似乎只想提供信息,如果位置发生变化,我需要每次都发送到服务器的更新位置,但是我定义的间隔

我该怎么做?

洞察力赞赏

将其放在onCreate服务中。

  mTimer.scheduleAtFixedRate(new TimerTask() {
    @Override
    public void run() {
           // What you want to do goes here
         }
    }, 0, REFRESH_TIME);

REFRESH_TIMErun重复自身的频率或时间(以毫秒为单位)。

你不能只是向android询问当前的位置。 GPS需要一些时间,可能无法使用。 这是在此规定

你可以做的是使用像user500865提到的计时器,然后请求像这样的最后一个已知位置

LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10000, 1, this);
Location l = null;
l = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);

如果新位置不同或相同,您可以跟踪最后位置并执行一些逻辑。

requestLocationUpdates方法具有以下参数:

minTime - 通知的最小时间间隔,以毫秒为单位。 此字段仅用作节省电量的提示,位置更新之间的实际时间可能大于或小于此值。

minDistance - 通知的最小距离间隔,以米为单位

使用这些来自定义您希望获得位置更新的频率

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM