Android高版本API在低版本系统兼容问题

2019-01-25  本文已影响0人  鸡蛋灌烧饼

问题引入

假设项目使用了API 19 的方法,但是自身项目最低支持版本低于API19 编译时就会报错,如下图所示,如果我们忽略了,可能会导致在低版本系统的崩溃。


使用高版本API报红
低版本NoSuchMethodError异常

解决办法

ide提示
  • 使用@RequiresApi和@TargetApi 注解,只能把警告去除,实际运行时还是会崩溃
  • 只有判断系统版本才能真正决绝运行异常

比如上图的问题只能通过以下代码才能决绝问题

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    new PopupWindow(this).showAsDropDown(view, 10, 10, Gravity.BOTTOM);
} else {
    new PopupWindow(this).showAsDropDown(view, 10, 10);
}
上一篇下一篇

猜你喜欢

热点阅读