Android @TargetAPI版本兼容性

Android API在高版本中会添加一些功能,但是这些功能在低版本上无法使用的,而且也会报错,因此需要使用@TargetApi(11)防止报错,同时在还需要在代码中加版本判断是否执行某段代码,直接看Demo:
@TargetApi(11)  //低版本防止报错
public void text(){
if(Build.VERSION.SDK_INT >= 11){
             // 使用api11 新加 api 高版本运行
        }
}

最后说一下报错的原因,
android的 Lint检查工具是为了防止代码出现提示性错误而设计的。
当androidmanifest设置了minsdkversion为8时,那么代码在使用了高于api8的代码时报错,
使用的是4.4的sdk进行的代码编译,如果没使用@TargetApi,运行android lint直接也会显示错误提示。解决是在方法或类的开头写上@TargetApi(xx)。如果你下面的代码要在api13的情况下运行,那么xx处你就填写13。不能填低了,填低了,还是报错。

这和@SuppressLint(“NewApi”)不一样。suppress只告诉lint,我这代码如果高于你的minsdkversion,那么请忽略编译错误。
最后强调一点:targetapi和你代码的运行环境没任何关系。意思就是说即使你写了@TargetApi(11)。不代表你的这个 方法就会被限制在android 3.0的设备上运行。因此兼容性判断还是必不可少的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值