如何实现将在应用程序关闭时运行的后台服务,并在应用程序打开时停止

时间:2017-01-11 09:59:17

标签: android android-service

如何实现将在应用程序关闭时运行的后台服务,并在应用程序打开时停止。如果应用程序关闭,我有一个单例websocket连接我应该能够通知通知用户应用是否已打开然后我应该能够从单个websocket通信中更新ui。

1 个答案:

答案 0 :(得分:0)

你可以在你的MainActivity的onStop()上启动服务,在onCreate()中你可以检查服务是否正在运行,如果它正在运行,你可以停止它。

  public static boolean isServiceRunning(Class<?> serviceClass, Context context) {
    ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
    for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
        if (serviceClass.getName().equals(service.service.getClassName())) {
            return true;
        }
    }
    return false;
}

此方法会告诉您天气服务是否正在运行