防止Android服务被杀死

问题描述 投票:0回答:1

目前我有一个 Android 前台服务作为后端,另一个应用程序作为前端。

后端将与硬件进行通信,前端应用程序用于用户控制硬件,并且后端和前端是不同的(他们的应用程序ID不一样)。

现在我遇到的问题是后端有时会被回收。我不认为有什么东西会导致它崩溃,因为它的日志文件中没有错误。

我已经将后端作为前台服务,它有一个通知,但这样只是减少了死亡的机会。重新传递意图和粘性也不起作用。

我还尝试创建另一个服务(与后端相同的应用程序ID)来观察后端的状态,但它不起作用。

现在我正在考虑两种方法来处理这个问题。

  1. 使用前端应用程序查看后端状态
  2. 创建一个可见透明的小部件来观察后端的状态(与后端相同的应用程序ID)

1 是我最糟糕的选择,因为我不想让另一个应用程序来处理这个问题。但我相信这应该有效。

我不知道在 2 处是否可能。但我认为如果小部件是可见的,那么操作系统不会杀死它。

2处的方式会有一个定时器来检查后端的状态,如果是死亡,就发送一个意图来恢复它。

2的方式可以吗?

谢谢!

--- 更新---

我们的设备将在信息亭模式下运行。所以基本上它会一直打开屏幕。

设备将是原始 Android 操作系统(版本 9 或更高版本)。而且它不是像 Pixel、三星等普通手机。它是由我们自己的制造商提供的。

android .net-core android-widget avalonia
1个回答
0
投票

好吧,我意识到这是不可能的。

我也尝试使用WindoManager并添加自定义视图,但oom_score_adj的值仍然是200。

似乎没有办法阻止操作系统杀死后台进程。

© www.soinside.com 2019 - 2024. All rights reserved.