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); } }