android判断当前sdk版本以及是否是平板
???? 最近做了一个项目中需要使用appWidget,但是RemoteViewsService只支持android3.0以后的版本,因此需要判断当前的OS版本,用来处理用户不能使用appWidget
public class Compatibility { private Compatibility() { } public static int getApiLevel() { return android.os.Build.VERSION.SDK_INT; } //判断当前应用的版本是否大于指定的版本,比如当前版本是9,必须大于11才能使用 public static boolean isCompatible(int apiLevel) { return android.os.Build.VERSION.SDK_INT >= apiLevel; } //判断是否使用的是平板 public static boolean isTabletScreen(Context ctxt) { boolean isTablet = false; if (!isCompatible(4)) { return false; } Configuration cfg = ctxt.getResources().getConfiguration(); int screenLayoutVal = 0; try { Field f = Configuration.class.getDeclaredField("screenLayout"); screenLayoutVal = (Integer) f.get(cfg); } catch (Exception e) { return false; } int screenLayout = (screenLayoutVal & 0xF);//如果android使用的是1.5版和当前的屏幕不兼容 if (screenLayout == 0x3 || screenLayout == 0x4) { isTablet = true; } return isTablet; }}
?