我想在android sharedPreferences中定义一个标志来检查一个服务是否正在运行,但它不能在运行时运行,那么它是否有可能以某种方式在xml中执行?另外,无论如何我可以检查服务是否正在运行?
答案 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;
}