android下的SuppressLint与TargetApi
【摘要】
版本:Android stuido 2.2
其实他们的作用都是屏蔽使用新的方法中的API时报错的问题。打个比方。我写了一个蓝牙操作的demo,它的配置是这样的:
minSdkVersion 16targetSdkVersion 24
我在代码中增加了一个回调的定义:
private ScanCallback scanCallba...
版本:Android stuido 2.2
其实他们的作用都是屏蔽使用新的方法中的API时报错的问题。打个比方。我写了一个蓝牙操作的demo,它的配置是这样的:
-
minSdkVersion 16
-
targetSdkVersion 24
我在代码中增加了一个回调的定义:
-
private ScanCallback scanCallback = new ScanCallback() {
-
@Override
-
public void onScanResult(int callbackType, ScanResult result) {
-
super.onScanResult(callbackType, result);
-
}
-
};
-
-
这个时候IDE会报警告给我。我可以有三个方法可以去除该警告,那就是在文件头部加入下面三个声明中的任意一个:
- @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
- @TargetApi(Build.VERSION_CODES.LOLLIPOP)
- @SuppressLint(“NewApi”)
要注意的是,上面这些方法只是去除警告并没有解决程序在不平版本的系统中运行的问题,比如上面这个示例中,如果demo是在低于android L的系统中运行还是会出错。所以类似这样的问题还是要结合Build.VERSION.SDK_INT一起使用,像下面这样:
-
if(Build.VERSION.SDK_INT >= 23)
-
{
-
//使用api 23以上加入的方法
-
}
文章来源: chengsy.blog.csdn.net,作者:程思扬,版权归原作者所有,如需转载,请联系作者。
原文链接:chengsy.blog.csdn.net/article/details/81281565
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)