android - 服务在 Activity 被销毁时停止

标签 android service

当我打开我的项目 Activity 时,我调用 startService(Intent intent) 方法来启动一个新服务。 当 Activity 被销毁时,服务不应该被杀死(因为我没有使用 bindService() 方法),但事实是当我关闭我的 Activity 时服务被杀死并且在其次,系统创建了一个新服务(我验证了,系统再次调用了我的服务的 onCreate() 方法)。我需要做什么才能只保留一项服务?谢谢

最佳答案

要让服务独立于应用程序的主进程运行并确保 Android 不会在它执行某些操作时终止它,您应该做/尝试做两件事。

  1. 在单独的进程中运行您的服务。您可以通过将以下属性添加到 list 中的服务声明来实现此目的:

    android:process=":somenamehere"

  2. 当您的服务正在运行并且您不希望它被操作系统终止时,您必须使用 startForeground(int id, Notification notification) 方法。当服务完成正在执行的操作并且可以被操作系统终止时,调用 stopForeground(boolean removeNotification)。 “startForeground”需要一个通知作为参数,因为每个前台服务都必须显示一个通知,以便用户意识到这一点

希望对你有帮助

关于android - 服务在 Activity 被销毁时停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23938891/

相关文章:

ios - iOS Swift 中的 Android 服务等价物

sql-server - Service Broker : Sys. Conversation_endpoints 在使用 With Cleanup 时填充 CO/CONVERSING 消息

android - 短信只能收到我的android应用程序,其他人不会收到

Android ICS ListView 刷新问题

android - 如何从应用程序: Android的背景录制视频

java - 第一个使用 REST 的 Java EE 项目

android - 如何在 flutter 中从 UST 获取本地时间

android,覆盖屏幕密度

java - 像在 Android 的 Facebook 应用程序中一样创建登录布局

c# - 在Windows服务C#中访问网络路径