我们可以在 timertask 中使用 requestlocationupdates 吗?
Posted
技术标签:
【中文标题】我们可以在 timertask 中使用 requestlocationupdates 吗?【英文标题】:Can we use requestlocationupdate in timertask? 【发布时间】:2018-10-31 23:25:29 【问题描述】:我必须使用每五分钟调用一次 timertask 类
LocationServices.FusedLocationApi.requestLocationUpdates(Utils.googleApiClient,
mlocationrequest, this);
使用 onLocationChanged() 查找位置并将位置存储在 DB 中。
如何实现?请帮助我,我试过了,但它不起作用。
【问题讨论】:
您可以在 LocationRequest 对象上使用最小间隔为 5 分钟 即使在应用关闭后直到卸载应用也需要获取位置。所以我需要使用 timertask how to use FusedLocationApi.requestLocationUpdates on timertask的可能重复 【参考方案1】:您应该使用下面的代码,您将在 MIN_TIME 和 MIN_DISTANCE 获得位置 onLocationChanged()
- MIN_TIME:位置更新之间的最小时间间隔,以毫秒为单位
- MIN_DISTANCE:位置更新之间的最小距离,以米为单位
LocationManager mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
if (mLocationManager != null)
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, TIME_OFFSET, MIN_DISTANCE, new android.location.LocationListener()
@Override
public void onLocationChanged(Location location)
onUpdateLocation(location);
Log.e("update location", location.getLatitude() + "------" + location.getLongitude());
@Override
public void onStatusChanged(String s, int i, Bundle bundle)
@Override
public void onProviderEnabled(String s)
@Override
public void onProviderDisabled(String s)
);
【讨论】:
以上是关于我们可以在 timertask 中使用 requestlocationupdates 吗?的主要内容,如果未能解决你的问题,请参考以下文章
在Listener(监听器)定时启动的TimerTask(定时任务)中使用Spring@Service注解的bean