如何检查内部服务是否已经运行相同的服务?

时间:2014-08-04 13:45:07

标签: android android-service

我有许多应用程序使用的服务。开发人员只需启动该服务即可完成其工作。如果AppA,AppB和AppC启动该服务,我将获得我的服务重复。重复项并不是那么糟糕,事实上应该有重复的服务,但是当且仅当没有重复项已经在做同样的工作时,服务才能完成它们的工作。我的问题是,检查内部服务,它的运行看起来像逻辑,因为如果你开始服务,当然它已经运行,检查是没有意义的。顺便提供服务的是STICKY。我希望保留重复项,如果执行作业的服务被杀死,另一个(重复项之一)将开始执行该作业,因为没有服务这样做。有什么工作吗?我怎么能实现这一目标?如果不清楚,请告诉我。

1 个答案:

答案 0 :(得分:0)

public class PlayerService extends Service {

    /** The Singleton PlayerService instance. */
    private static PlayerService _instance = null;

    @Override
    public void onCreate() {
        _instance = this;
    }

    public static boolean isPlayerServiceRunning() {
        return _instance != null;
    }