gpt4 book ai didi

android - 在 Application 的 onCreate 中启动服务

转载 作者:行者123 更新时间:2023-11-29 16:18:07 25 4
gpt4 key购买 nike

我正在尝试在我的应用程序启动时启动服务,我需要它重新启动服务,以防用户决定强制关闭服务,即使应用程序正在运行(没关系,让他强制关闭应用程序,但我需要防止在应用程序运行时关闭服务)。

所以我着手扩展应用程序类,这就是我启动服务所做的...

ServiceConnection conn = new ServiceConnection() {
public void onServiceConnected(ComponentName className, IBinder service) {
Log.d("start","ok");
}

public void onServiceDisconnected(ComponentName className) {
}
};
bindService(new Intent(this,DueService.class), conn, 0);

但是,这不会启动服务。虽然,使用 startService 似乎可行。有什么想法吗?

最佳答案

Application 使用 bindService() 是没有意义的,因为您永远无法调用 unbindService()

当然,如果您的服务主动为用户提供值(value),而不是仅仅因为您的应用程序的某些其他组件恰好被加载,那么最好只在内存中。就目前而言,如果您按照从 Application 使用 startService() 的计划进行,您将走上泄漏此服务的道路。 Android 中没有将“应用程序正在运行”作为生命周期构造的真正概念,因此您将没有合理的时间来停止服务。

(顺便说一句,虽然 Application 有一个 onTerminate() 方法,但它永远不会被调用)

关于android - 在 Application 的 onCreate 中启动服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8431631/

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