当前位置 : 主页 > 手机开发 > android >

Android Call需要API级别13(当前最小值为10):android.view.Display #getSize

来源:互联网 收集:自由互联 发布时间:2021-06-11
我试图尽可能多地定位架构,并尽可能少地发出警告. Point dims = new Point();if (android.os.Build.VERSION.SDK_INT = 13) { mWindowManager.getDefaultDisplay().getSize(dims);} else if (android.os.Build.VERSION.SDK_INT 13) { di
我试图尽可能多地定位架构,并尽可能少地发出警告.

Point dims = new Point();
if (android.os.Build.VERSION.SDK_INT >= 13) {
      mWindowManager.getDefaultDisplay().getSize(dims);
} else if (android.os.Build.VERSION.SDK_INT < 13) {
  dims.x = mWindowManager.getDefaultDisplay().getWidth();
  dims.y = mWindowManager.getDefaultDisplay().getHeight();
}

但这给了我错误和警告:

Call requires API level 13 (current min is 10): android.view.Display#getSize
The method getWidth() from the type Display is deprecated

They say to change the manifesto(或here)但为什么上面这个不适用于编译器?难道我不能摆脱10到18的api范围吗?

您已经对SDK版本进行了检查,因此可以忽略编译器的弃用警告和有关新API的lint警告.

将代码段拉到单独的方法并向其添加以下注释:

@TargetApi(13)
@SuppressWarnings("deprecation")

请注意,if的if部分是多余的.简单的其他就够了.

网友评论