最近想做一个关于后台定位的App,需要后台持续定位,所以就想到了使用Service进行定位服务,我的手机型号是华为Honor7。
碰到以下问题:
1)如何做到开机自启动?
在Android6.0以后,已经无法再接受到系统开机广播了,所以还没找到好的办法,除非有别的App救你一把,给你发个广播。
2)当退出界面后如何保活?遍历各种网页,众说纷纭,主要有以下办法:
---提高优先级,变为前台服务
优点:简单方便
缺点:无法做到隐蔽 ,息屏后进程总是被杀死,无法抗击“一键清理”
---创建双进程,通过AIDL利用两个服务互相守护
优点:有一定的作用
缺点:息屏后进程被杀死,从网上资料了解到,Android好像刻意封闭了这种方法;同时,无法抗击“一键清理”
---使用AlarmManager,在服务中定时启动自己
优点:简单
缺点:同样面临息屏必死,无法抗击“一件清理”
---使用WakeLock,防止CPU休眠
优点:-
缺点:没看到有什么作用,汗!
反正试了这几种方法,都没啥作用。倒是发现通过手机的“设置”》“应用管理”》选中自己的App》“电池”》“屏幕关闭后保持运行”,能够保证服务的存活。
大家有什么方法?可以交流以下。寻寻觅觅寻不到的感觉真痛苦,