我正在尝试合并try / catch以支持弃用的方法。
如果我的minSdkVersion太低而无法支持我正在尝试的(较新的)方法,那么Eclipse会看到错误,因为它尚未受支持。如何让Eclipse忽略这一行?
以下是代码:
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
try {
display.getSize(size);
width = size.x;
height = size.y;
} catch (NoSuchMethodError e) {
width = display.getWidth();
height = display.getHeight();
}
在14之前的minsdkversion中,eclipse不喜欢Display.getSize(size)。
或者,有更好的方法吗?
感谢
答案 0 :(得分:1)
这是一个反射很有用的地方:尝试从类中获取getSize
方法。如果您成功获得它,请使用它,否则回退到旧样式。
答案 1 :(得分:1)
我认为这是相关的:How to retrieve the android sdk version?
Build.VERSION.SDK_INT是您需要的。简单的if / else替换try / catch。
答案 2 :(得分:0)
如果将构建目标提升到Jelly Bean,则可以使用@SuppressLint("NewApi")
忽略该错误。我认为还有另一种方法可以忽略新Android工具的错误。
编辑:实际上,你不需要将构建目标提升到Jelly Bean。我目前在4.0.3中使用SuppressLint。您只需要SDK附带的Android注释JAR。