在 Android 9 中 5 分钟后后台中的应用程序被杀死
App in background killed after 5 minutes in Android 9
我最近在我的应用程序中添加了一项功能,可以通过网络共享屏幕。当我想在我的应用程序之外流式传输移动屏幕时,此功能变得特别有意义,即将我的应用程序置于后台。
虽然我在 Android 8 的三星 S7 上没有问题,但该应用程序在后台运行 5 分钟后在三星 Active Pro 上不断被杀死。但是,如果平板电脑连接到 USB 数据线(连接到充电器或我的电脑),应用程序仍然存在。
我已为我的应用禁用电池优化并尝试了在网络上找到的其他可能的用户端操作但没有成功。
开发人员方面有什么我可以做的吗?
我试过使用唤醒锁,但这没有帮助。在其他线程中,我读到使用前台服务发送通知可能会有所帮助:这是一个可行的解决方案吗?
你需要有一个 foreground service,否则 OS 会杀死你的应用程序
Android对后台施加限制service.Android仅在以下情况下允许后台服务。
如果某个应用处理的任务对用户可见,例如:
,则该应用会被列入许可名单
1) 处理 high-priority Firebase 云消息传递 (FCM) 消息。
2)接收广播,例如SMS/MMS消息。
3)从通知执行 PendingIntent。
4) 在 VPN 应用将自身提升到前台之前启动 VpnService。
因此,使用警报管理器并在 10 毫秒后设置警报以启动 service.So,在这种情况下 Android 不会限制它。
我最近在我的应用程序中添加了一项功能,可以通过网络共享屏幕。当我想在我的应用程序之外流式传输移动屏幕时,此功能变得特别有意义,即将我的应用程序置于后台。 虽然我在 Android 8 的三星 S7 上没有问题,但该应用程序在后台运行 5 分钟后在三星 Active Pro 上不断被杀死。但是,如果平板电脑连接到 USB 数据线(连接到充电器或我的电脑),应用程序仍然存在。
我已为我的应用禁用电池优化并尝试了在网络上找到的其他可能的用户端操作但没有成功。
开发人员方面有什么我可以做的吗? 我试过使用唤醒锁,但这没有帮助。在其他线程中,我读到使用前台服务发送通知可能会有所帮助:这是一个可行的解决方案吗?
你需要有一个 foreground service,否则 OS 会杀死你的应用程序
Android对后台施加限制service.Android仅在以下情况下允许后台服务。
如果某个应用处理的任务对用户可见,例如:
,则该应用会被列入许可名单1) 处理 high-priority Firebase 云消息传递 (FCM) 消息。
2)接收广播,例如SMS/MMS消息。
3)从通知执行 PendingIntent。
4) 在 VPN 应用将自身提升到前台之前启动 VpnService。
因此,使用警报管理器并在 10 毫秒后设置警报以启动 service.So,在这种情况下 Android 不会限制它。