package me.wcy.music.utils;
import android.app.ActivityManager;
import android.app.Service;
import android.content.Context;
import android.text.TextUtils;
import android.text.format.DateUtils;
import java.lang.reflect.Method;
import java.util.List;
import java.util.Locale;
/**
* Created by hzwangchenyan on 2016/3/22.
*/
public class SystemUtils {
/**
* 判断是否有Activity在运行
*/
public static boolean isStackResumed(Context context) {
ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> runningTaskInfos = manager.getRunningTasks(1);
ActivityManager.RunningTaskInfo runningTaskInfo = runningTaskInfos.get(0);
return runningTaskInfo.numActivities > 1;
}
/**
* 判断Service是否在运行
*/
public static boolean isServiceRunning(Context context, Class<? extends Service> serviceClass) {
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;
}
public static boolean isFlyme() {
String flymeFlag = getSystemProperty("ro.build.display.id");
return !TextUtils.isEmpty(flymeFlag) && flymeFlag.toLowerCase().contains("flyme");
}
private static String getSystemProperty(String key) {
try {
Class<?> classType = Class.forName("android.os.SystemProperties");
Method getMethod = classType.getDeclaredMethod("get", String.class);
return (String) getMethod.invoke(classType, key);
} catch (Throwable th) {
th.printStackTrace();
}
return null;
}
public static String formatTime(String pattern, long milli) {
int m = (int) (milli / DateUtils.MINUTE_IN_MILLIS);
int s = (int) ((milli / DateUtils.SECOND_IN_MILLIS) % 60);
String mm = String.format(Locale.getDefault(), "%02d", m);
String ss = String.format(Locale.getDefault(), "%02d", s);
return pattern.replace("mm", mm).replace("ss", ss);
}
}