什么是Android @TargetApi注解的含义

5

TargetApi是什么意思?它意味着代码必须在特定版本下调用,还是必须在大于或等于特定版本下调用?例如:

TargetApi(23)表示使用在(23及以下)或(23及以上)的情况下?


2个回答

3

目标API 23表示被注释的方法只应在API 23及以上的设备上运行。您应该使用它与设备的API级别进行IF检查。如果您的应用程序的最小API级别低于23,请考虑为较旧的设备提供一个方法。


那么我们可以说它和 requiresApi 是一样的吗? - ahmetvefa53
并不完全正确。如下方所评论的,注释将会移除错误的红色下划线,但您仍应该检查API级别的运行时。 - Pavel B.

0

来自TargetApi文档

表示Lint应将此类型视为针对特定API级别进行定位,无论项目目标是什么。

它仅用于linter。它将使用此API而不是在build.gradle中指定的targetSdkVersion

何时使用?

也许当您正在使用已弃用的API时,但您不希望linter继续警告您。您明确告诉linter,我知道这已经过时了,但我不在乎,我正在像在旧的API级别上一样使用它。您可能(应该)还会在附近添加注释。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接