众所周知,后台不间断定位是非常反人类的事情,不仅侵犯用户隐私,还几乎不可能实现,这类需求最遭程序员痛恨。这不,最近公司就有傻逼领导三番五次要做这个需求,没办法,只好调研一下。最后,总算有所成果。

当然,前提是,可以强制用户使用并要求用户打开相应的权限,否则免谈。所以也就免去了偷偷摸摸什么双进程保活的苦逼事儿,我们做的都是光(tian)明(bu)正(zhi)大(chi)的事。

总共有5个要点:

1、要求用户打开相应权限。包含:同意所有权限,包括始终允许定位权限、允许应用自启动、关闭智能省电模式、开启休眠时仍保持WIFI连接、给应用上锁。

2、服务设置为前台服务。用startForeground启动通知。

3、定时器AlarmManager

4、电池锁WakeLock

5、WIFI锁WifiLock

第5点很多博客都没有提到,没有这个WifiLock,就没办法保证长时间锁屏还能保持wifi连接,结果就是日志在后台定时打印,但却没有定位数据。

最后,经过一番折腾,终于在小米手机上成功实现了,虽然非常耗电(半天不开去了50%的电)。然而蛋疼的是,在华为手机上完全没效果。这需求就是个笑话,也证明了一点,对于严重侵害用户体验和隐私的需求,国内厂商对其做了各种限制,适配难度确实大。

demo github地址:https://github.com/qugengting/ForegroundServiceExample

android后台持续定位相关推荐

  1. H5+App后台持续定位功能实现

    H5+App后台持续定位功能实现 1. 项目需求 2. 实现过程 3.最终实现 4. 关于测试用例 1. 项目需求 最近有个需求就是需要完成在后台的实时定位,并且要将获取到的定位信息写到Map控件上去 ...

  2. Android--高德地图后台持续定位

    核心类/接口 类 接口 说明 版本 AMapLocationClient startLocation(); 启动定位 V2.0.0版本起 setLocationOption(mLocationOpti ...

  3. iOS开发 - 百度地图后台持续定位

    2019独角兽企业重金招聘Python工程师标准>>> 之前有做一个定位的项目,类似嘀嘀打车那样. 需要后台持续定位. 这里选择了百度地图,不过在后台持续定位方面, 之前只是简单的设 ...

  4. 微信小程序后台持续定位功能使用

    微信小程序团队在7月30日更新了 基础库 2.8.0 其中新添加了小程序后台持续定位功能和联系定位的接口 从上到下分别是 1.wx.onLocationChange//监听位置实时变化 2.wx.st ...

  5. 百度地图API后台持续定位、指南针改变位置问题

    最近的需要用到后台持续定位,项目中又是用的百度地图API,遇到点麻烦: 1.进入后台,手机静置,定位持续16分钟左右就停止了,但是还是无限后台效果:但如果一直运动,让定位持续更新,定位服务一直保持 其 ...

  6. 微信小程序后台持续定位功能使用详解

    微信小程序团队在7月30日更新了 基础库 2.8.0 其中新添加了小程序后台持续定位功能和联系定位的接口 从上到下分别是 1.wx.onLocationChange//监听位置实时变化 2.wx.st ...

  7. 小程序后台持续定位功能

    wx.onLocationChange  //监听位置实时变化 wx.stopLocationUpdate //关闭监听位置变化,前后台都不接收 wx.startLocationUpdate //开启 ...

  8. android 后台实时定位,实现后台定位,持续无限制定位

    更新记录 1.0.2(2021-04-27) 新增:定位模式传入可高精度定位模式,低功耗定位模式,以及实现gps离线定位(不需要连接网络) 1.0.1(2021-03-17) 1.停止定位增加回调信息 ...

  9. 关于android双进程守护-后台持续定位功能+项目IM中写到自己的即时通讯

    1.关于进程守护无非就是6.0以下,6.0以上的高版本保活 a.android中6.0以下的保护采用双线程守护即可是aidl (1)创建aidl文件 interface IServiceAidlInt ...

最新文章

  1. Android定位方式和测试方法
  2. integer是值传递还是引用传递_数据值Value传递-高位传递
  3. python 文件指定位置写入-Python从文件中读取指定的行以及在文件指定位置写入...
  4. php vimrc配置文件,vim技巧:我的 .vimrc 配置文件,详解每一个配置项的作用
  5. Python 学习笔记 多进程 multiprocessing
  6. Linux系统【三】回收子进程
  7. 频谱扩展 matlab,语音信号频谱扩展
  8. HTML语法初探(一)
  9. 33 CO配置-控制-产品成本控制-成本对象控制-期末结算-定义每一工厂的差异码
  10. vue+element实现手机号验证码注册
  11. 马科维茨投资组合理论
  12. CF676A Nicholas and Permutation 题解
  13. LHS查询 RHS查询
  14. 洛谷4315 月下“毛景树”(树链剖分)
  15. Python语法-1-变量、输出、List列表、tuple元组、条件判断和循环等重要基础知识
  16. Linux 添加开机启动项的三种方法
  17. 浅析web应用防火墙的反向代理部署
  18. 企业金融App评测系列——微众银行以App构筑企业金融服务新生态,成为企业的随身数字银行
  19. Navicat连接mysql报错2509
  20. .xin 域名信用验证问题集锦

热门文章

  1. 鬼画符门莲台争夺战(python)
  2. [原创软件]考勤数据导出工具
  3. system(“shutdown“)的用法
  4. 荔枝派nano上手笔记(一)移植Uboot
  5. 基于springCloud的微服务架构设计
  6. 愿你出走半生,归来仍是少年(北京四中初二女学生作文)
  7. Recursive-NeRF
  8. GMM与EM个人的理解
  9. 数组中some方法的使用
  10. 组合数奇偶性的判断(附证明)