android下的SuppressLint与TargetApi

举报
程思扬 发表于 2022/01/13 22:43:01 2022/01/13
【摘要】 版本:Android stuido 2.2 其实他们的作用都是屏蔽使用新的方法中的API时报错的问题。打个比方。我写了一个蓝牙操作的demo,它的配置是这样的: minSdkVersion 16targetSdkVersion 24 我在代码中增加了一个回调的定义: private ScanCallback scanCallba...

版本:Android stuido 2.2

其实他们的作用都是屏蔽使用新的方法中的API时报错的问题。打个比方。我写了一个蓝牙操作的demo,它的配置是这样的:


  
  1. minSdkVersion 16
  2. targetSdkVersion 24

我在代码中增加了一个回调的定义:


  
  1. private ScanCallback scanCallback = new ScanCallback() {
  2. @Override
  3. public void onScanResult(int callbackType, ScanResult result) {
  4. super.onScanResult(callbackType, result);
  5. }
  6. };

这个时候IDE会报警告给我。我可以有三个方法可以去除该警告,那就是在文件头部加入下面三个声明中的任意一个:

  • @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
  • @TargetApi(Build.VERSION_CODES.LOLLIPOP)
  • @SuppressLint(“NewApi”)

要注意的是,上面这些方法只是去除警告并没有解决程序在不平版本的系统中运行的问题,比如上面这个示例中,如果demo是在低于android L的系统中运行还是会出错。所以类似这样的问题还是要结合Build.VERSION.SDK_INT一起使用,像下面这样:


  
  1. if(Build.VERSION.SDK_INT >= 23)
  2. {
  3. //使用api 23以上加入的方法
  4. }

文章来源: chengsy.blog.csdn.net,作者:程思扬,版权归原作者所有,如需转载,请联系作者。

原文链接:chengsy.blog.csdn.net/article/details/81281565

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。