android判断当前sdk版本以及是否是平板
16lz
2021-01-26
最近做了一个项目中需要使用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; }}
更多相关文章
- 下载 编译 Android源代码 和 Android(安卓)kernel源代码
- Android在代码中查看系统版本
- 关于overridePendingTransition效果在1.6版本中会出现VerifyErro
- Android(安卓)STL PORT
- Android(安卓)Studio下,如何解决:java-Android问题,为什么我已经
- 使用gradle来编译生成apk
- Android(安卓)通过配置 productFlavors 实现多版本差异化打包
- Android(安卓)项目配置之 Version Name & Code
- 关于Android(安卓)版本覆盖安装,安装过程中闪退出现的问题,