xingda920813 / HelloDaemon

Android 服务保活/常驻 (Android service daemon using JobScheduler)
MIT License
2.31k stars 443 forks source link

测试手机 华为mate7 6.0系统 #3

Closed lmdiloveu closed 8 years ago

lmdiloveu commented 8 years ago

1,运行app,点击按钮启动服务,不返回到后台,1个小时没发现WorkService被杀死

2,运行app,点击按钮启动服务,返回到后台,主进程被杀死,WorkService所在的work进程没有被杀 死,但是运行手机自带清理软件或者360清理软件之后,WorkService死掉没有重启

3,运行app,点击按钮启动服务,手机锁屏一段时间进入睡眠。虽然设置了闹钟15分钟唤醒。测试经过了半小时都无法唤醒!

xingda920813 commented 8 years ago

感谢反馈。 2.本意并不是为了让用户无法手动清理掉,而是侧重于不被系统自动回收和清理。 3.根据你的测试,手机锁屏后多长时间控制台就不再打印了? 我是在CyanogenMod下测试的。据我所知,现在小米、华为等一些定制ROM对于后台运行的限制要严的多。如果有很强的保活需求,Java层是无能为力的。使用下面的库可能是比较好的选择 : Marswin/MarsDaemon 或者给出引导让用户加入白名单。

lmdiloveu commented 8 years ago

2,确实是这样,这种方式肯定被清理 3,锁屏之后,几秒钟就杀死进程了,这需要华为手机电池耗电设置页面,添加app为锁屏后还能继续运行,其他手机不知道是不是也有这样的设置

正在做如何引导用户添加到白名单

xingda920813 commented 8 years ago

修改了代码,对国产机型的适配增强了一些。 现在在华为 荣耀6 Plus, Android 4.4 系统, 应用未加入白名单的情况下 :

  1. 从最近任务列表中划掉卡片,服务不可避免的被华为ROM销毁,但现在会把服务重新拉起来 (国外机型/原生系统,服务是持续运行的,划掉卡片不会终止/销毁服务);
  2. 锁屏后几秒钟进程被杀的情况,现在已经不会了;锁屏后,控制台还是在继续打印。