pawoaini 发表于 2020-5-10 12:50:46

一个困扰了我很久的问题

是这样的,我在火山里 一个app叫E电脑维修   里面有个2服务,主要是用来不让手机后台被杀的,后台是不被杀了,但是主窗口里面有个监听电话打进显示号码的,这个一般两个小时就被关掉了,关掉后电话打进就没显示了,没关掉之前软件占用内存是73M,关掉后只有12M了,请问有办法解决吗?或者服务里面有没有唤醒主进程的 代码。谢谢你们帮忙解决下

创世魂 发表于 2020-5-11 15:47:21

这种没法解决的。。除非你手机进行了root,然后你需要把你的软件通过root命令提权,让软件变成系统应用。

常规的进程保洁,对于现在的手机系统来说几乎没用。。
系统偶尔还是会从底层把软件杀死。

创世魂 发表于 2020-5-11 15:48:48

本帖结贴,如有其他疑问,请重新发帖提问。

pawoaini 发表于 2020-5-13 08:44:03

创世魂 发表于 2020-5-11 15:47
这种没法解决的。。除非你手机进行了root,然后你需要把你的软件通过root命令提权,让软件变成系统应用。

...

root 命令该怎么操作?有详细点的吗?是不是root文件管理器,把APP放系统软件里面就可以了呢?

0晨鹤0 发表于 2020-5-13 10:18:00

本帖最后由 0晨鹤0 于 2020-5-13 10:26 编辑

现在的Android系统,几乎任何的保活手段都是无效的。如果希望完美保活需要开启一个前台服务(并发出一个常驻通知)。如果需要定时唤醒那么需要 workmanager。以上是Android原生开发方案,你可能需要自行对应到火山的相关类库

按照楼主的截图。你的后台没有被杀掉。关键在于你把监听代码放在了窗口了,但是窗口被杀了。窗口与服务是两个互相独立的东西。窗口在后台被杀是非常正常的,所以你需要把监听写在服务里。但是服务是不能显示 UI 的,悬浮窗相关API在AndroidQ 上也被封的差不多了,可以试试看。如果悬浮窗不行那么服务就只能通过通知栏来向用户展示信息。

0晨鹤0 发表于 2020-5-13 10:21:49

Android杀后台的办法简单说就是遍历应用进程然后杀掉,连续遍历三次。就算用两个 service 互相监听唤醒也来不及。
页: [1]
查看完整版本: 一个困扰了我很久的问题