Java 如何阻止应用程序/服务销毁?
我有一个应用程序,它有一个带有“开始日志记录”按钮的单屏幕,可以启动服务。按下后,该按钮变为“停止记录”按钮,并在单击时停止服务。该服务实质上每分钟捕获一些数据并将其写入几个SQLite表 应用程序设计为打开,开始记录。。然后最小化并留在后台运行。然而,问题是,一段时间后,Android会破坏/停止进程/服务/活动,使其不再记录数据,当应用程序重新打开时,屏幕会重置,使其再次显示“开始记录”,而不是“停止记录”,因为应用程序已重新启动 我希望应用程序/服务能够在后台运行并收集数据,只要它想要,并且活动保持打开状态,或者在打开时,我可以停止日志记录,而不是重置屏幕。基本上,当记录日志时,应用程序将永远最小化,而不是关闭Java 如何阻止应用程序/服务销毁?,java,android,service,android-activity,ondestroy,Java,Android,Service,Android Activity,Ondestroy,我有一个应用程序,它有一个带有“开始日志记录”按钮的单屏幕,可以启动服务。按下后,该按钮变为“停止记录”按钮,并在单击时停止服务。该服务实质上每分钟捕获一些数据并将其写入几个SQLite表 应用程序设计为打开,开始记录。。然后最小化并留在后台运行。然而,问题是,一段时间后,Android会破坏/停止进程/服务/活动,使其不再记录数据,当应用程序重新打开时,屏幕会重置,使其再次显示“开始记录”,而不是“停止记录”,因为应用程序已重新启动 我希望应用程序/服务能够在后台运行并收集数据,只要它想要,并
谢谢你的帮助和建议。你要找的是一个棘手的问题。这将允许服务运行,直到系统内存耗尽。有关服务的更多信息,请查看。问题是,当操作系统脱离RAM时,如果它在后台,它将破坏您的服务。这就是为什么不能停止的服务(如mp3播放)是前台服务。因此,如果你绝对想让你的服务保持活力,你可以让它在前台运行。我知道这可能不是你想要的,但感觉你没有太多选择。把一个服务放到前台是告诉Android你的服务不能被终止的一种方式。你应该实现前台 要请求您的服务在前台运行,请调用startForeground()。此方法采用两个参数:唯一标识通知的整数和状态栏的通知。有关更多信息,请访问:
在服务中使用startforeground(并从onStart命令返回START\u STICKY)