gpt4 book ai didi

android - 在不重置的情况下终止android服务

转载 作者:行者123 更新时间:2023-11-29 14:01:58 25 4
gpt4 key购买 nike

我知道强行杀死一个应用程序是非常糟糕的,但客户需要它。我需要为应用程序实现某种强制重启。我是这样实现的:

我在我的应用程序(不是 Activity 的)onCreate 方法中创建了一个 BroadcastReceiver。我让它等待广播 REBOOT 命令。收到后,我让它广播另一条消息,其中包含调用 stopSelf 的服务,以便线程和服务有机会干净地退出。然后我有一个 AlarmManager 在 5 秒后调用我的主要 Activity 。最后让我的应用程序使用 Process.kill(Process.myPid()) 自行终止。在大多数情况下,它是有效的,我只需要在它终止进程之前添加一些额外的等待时间(可能通过等待来自每个正在运行的服务的 TERMINATE 广播)。我的问题是:在查看日志时,我发现系统安排服务重新启动。我担心冲突。有没有办法在没有任何重启机会的情况下终止服务?

最佳答案

我通过让 Receiver 等待所有服务完成它们的 onDestroy() 调用来解决这个问题,然后让它死掉。我还从 Process.kill() 更改为 ActivityManager.killBackgroundProcesses()

附带说明:我知道这是错误的,但杀死进程确实感觉很酷嘿嘿。

关于android - 在不重置的情况下终止android服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9073992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com