android – 从后台服务获取位置,这是正确的吗?

android – 从后台服务获取位置,这是正确的吗?,第1张

概述我有一个后台服务,每5分钟从位置管理器获取更新.当调用locationChaged时,我调用我的活动中的一个函数来更新保存我的用户位置的GeoPoint.这工作正常,做我想要的.我只是不确定使用广播接收器这样做是否更好.我曾尝试使用广播接收器,但它无法正常工作.我目前这样做的方式有什么不对吗? 我的位置服务中有以下方法: public static double getLat() { re 我有一个后台服务,每5分钟从位置管理器获取更新.当调用locationChaged时,我调用我的活动中的一个函数来更新保存我的用户位置的GeoPoint.这工作正常,做我想要的.我只是不确定使用广播接收器这样做是否更好.我曾尝试使用广播接收器,但它无法正常工作.我目前这样做的方式有什么不对吗?

我的位置服务中有以下方法:

public static double getLat() {    return lat;}public static double getLng() {    return lng;}public voID onLocationChanged(Location loc) {            lat = (double) (loc.getLatitude());    lng = (double) (loc.getLongitude());    mapvIEw.locationHasChanged();}

在我的约束活动中,我有以下内容:

public static voID locationHasChanged() {    double myLat = LocationService.getLat();    double myLng = LocationService.getLng();    Locgeo = new GeoPoint(            (int) (myLat * 1E6),(int) (myLng * 1E6));}
解决方法 你正在做的很好,从我的经验来看,处理位置更新的标准方法.将LocationManager配置为每5分钟请求更新非常容易.我唯一的建议是考虑你是否真的需要一项服务来做你需要的事情.当您的活动在屏幕上运行时,您是否只需要更新位置信息?如果是这样,请不要使用后台服务.如果即使您的活动已关闭也需要更新,请使用服务并确保发出OnGoing通知,以便用户知道您的服务正在后台运行.

当您需要在手机上的某些事件之后(例如手机开机后)启动或停止后台服务时,广播接收器会更多地使用.

总结

以上是内存溢出为你收集整理的android – 从后台服务获取位置,这是正确的吗?全部内容,希望文章能够帮你解决android – 从后台服务获取位置,这是正确的吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1126442.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存