我如何在sharedPreferences中预定义标志?

时间:2015-02-19 02:59:21

标签: android sharedpreferences

我想在android sharedPreferences中定义一个标志来检查一个服务是否正在运行,但它不能在运行时运行,那么它是否有可能以某种方式在xml中执行?另外,无论如何我可以检查服务是否正在运行?

1 个答案:

答案 0 :(得分:0)

我不知道为什么您无法为SharedPreferences定义标记,但是如果您想检查运行的服务是否可以create global variable并检查它:

public class MyService extends Service {
        public static boolean sIsRunning;


        @Override
        public void onCreate() {
            super.onCreate();
            sIsRunning = true;
        }

        @Override
        public void onDestroy() {
            super.onDestroy();
            sIsRunning = false;
        }
    }

check running services使用ActivityManager:

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