博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android后台持续定位
阅读量:3975 次
发布时间:2019-05-24

本文共 557 字,大约阅读时间需要 1 分钟。

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

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

        总共有5个要点:

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

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

        3、定时器AlarmManager

        4、电池锁WakeLock

        5、WIFI锁WifiLock

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

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

        demo github地址:

 

 

转载地址:http://rarki.baihongyu.com/

你可能感兴趣的文章
linux常用命令(操作命令)
查看>>
Linux一些经典书籍
查看>>
apache启动报错(98)Address already in use: make_sock: could not bind to address [::]:80
查看>>
linux kill用法、killall、pkill、xkill
查看>>
Python笔记——排序算法的实现
查看>>
jQuery数据显示插件整合实现代码
查看>>
python时区设置——pytz模块
查看>>
用datetime和pytz来转换时区
查看>>
python解决导出excel文件时中文文件名乱码
查看>>
Django操作NOSQL(MongoDB)数据库
查看>>
Failed to load JavaHL Library
查看>>
linux学习方法
查看>>
linux中nohup命令的用法
查看>>
vim代码智能提示功能及相关配置
查看>>
linux常用命令——ps
查看>>
linux常用命令——lsof
查看>>
nginx安装手册
查看>>
Nginx配置文件详细说明
查看>>
Nginx负载均衡
查看>>
CMD常用命令
查看>>