我们开发了c.r.m.软件,在后台提供位置跟踪功能。为了实现这个功能,我使用了androidoreo或更高版本的android的前台服务。
我们正在尝试获取用户的当前位置 LocationMangager
并附上 onlocationchage
听众。我们正在成功地获得服务中的数据,而不是将这些数据存储在sqlite中。
扭曲的是,当我们杀死应用程序或把应用程序放在后台服务运行良好,但位置管理器不获得经度和纬度后,一段时间可能是2-3分钟。我们也检查过了。如果服务在后台运行或其被终止,但服务在后台运行并在logcat中打印日志。我们把 CounteDownTimer
打印登录 LogCat
. 我们还试图保持应用程序的开放性,而不是被杀死,甚至不在后台。同样的情况,locationmanger在一段时间后并没有得到经纬度。应用程序在我们的手机主屏幕上运行。
以下是我们尝试过的东西:-
我试过gps提供商(一段时间后不工作)
我试过网络提供商(一段时间后不工作)
我尝试过被动提供者(一段时间后不工作)
我尝试过谷歌融合定位,但它甚至没有得到位置数据。
我已经把 WakeLock
以使cpu不进入空闲模式(尝试部分和完全唤醒锁定)
注:-
我要求的位置为给定的间隔和给定的距离。我在办公室里试过,也在办公室外试过,但过了一段时间我们还没有得到数据。我确信给定的距离正在被覆盖。
提前谢谢,我不能出示我的代码原因是我们公司不允许在任何平台发布公司代码。对不起的。。。。。
1条答案
按热度按时间bgtovc5b1#
你需要在前台运行服务。作为其中的一部分,您需要在您的清单中请求许可,以及其他一些事情。我最近用这个例子来解决一个类似的问题。