1.android 检查service 是否还存
2.判断前台显示的Activity界面是什么
android 检查service 是否还存在
http://cncoke.iteye.com/blog/1812481
private boolean isServiceRunning() {
ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if ("com.baixun.os".equals(service.service.getClassName())) {
return true;
}
}
return false;
}
2.判断前台显示的Activity界面是什么
/**
* 判断某个界面是否在前台
* @param activity 要判断的Activity
* @return 是否在前台显示
*/
public static boolean isForeground(Activity activity) {
return isForeground(activity, activity.getClass().getName());
}
/**
* 判断某个界面是否在前台
* @param context Context
* @param className 界面的类名
* @return 是否在前台显示
*/
public static boolean isForeground(Context context, String className) {
if (context == null || TextUtils.isEmpty(className))
return false;
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> list = am.getRunningTasks(1);
if (list != null && list.size() > 0) {
ComponentName cpn = list.get(0).topActivity;
if (className.equals(cpn.getClassName()))
return true;
}
return false;
}
<uses-permission android:name="android.permission.GET_TASKS"/>
限制TextView 字体大小
public static void limitLargeTextSize(Context context, TextView tv) {
if (tv != null) {
float currentTextSize = tv.getTextSize();
float fontScale = context.getResources().getConfiguration().fontScale;
float defaultTextSize = currentTextSize / fontScale;
if (fontScale > 1.2f) {
tv.setTextSize(0, defaultTextSize * 1.2f);
}
}
}