如何检查后台服务是否正在运行?
我想要一个切换服务状态的 Android 活动——它让我在它关闭时打开它,如果它打开则关闭它。
原文由 Bee 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何检查后台服务是否正在运行?
我想要一个切换服务状态的 Android 活动——它让我在它关闭时打开它,如果它打开则关闭它。
原文由 Bee 发布,翻译遵循 CC BY-SA 4.0 许可协议
从 Android 8(或 Oreo)开始,API getRunningServices 已弃用。当然,您可以使用 @SuppressWarnings("deprecation")
来消除警告。
如果您的服务不需要有多个实例,以下是不使用 getRunninngServices 的方法:使用单例模式。
public class MyMusicService extends Service {
private static MyMusicService instance = null;
public static boolean isMyMusicServiceRunning() {
return instance != null;
}
然后您可以从您的活动或其他地方调用 MyMusicService.isMyMusicServiceRunning
。
原文由 jlguenego 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答1.3k 阅读✓ 已解决
2 回答2.6k 阅读
2 回答1.7k 阅读
1 回答2.1k 阅读
1 回答1.1k 阅读
1 回答1.3k 阅读
1.3k 阅读
不久前我遇到了同样的问题。由于我的服务是本地的,我最终只是使用服务类中的静态字段来切换状态,如 hackbod 所述
编辑(备案):
这是hackbod提出的解决方案: