要取消API级别警告,我通常更喜欢使用@RequiresApi
,而不是@TargetApi
。
根据RequiresApi vs TargetApi android annotations
,@RequresApi
似乎比@TargetApi
更新,更好
但是,有没有真正的用例,我们可以使用@RequiresApi
来解决,但不能使用@TargetApi
?
答案 0 :(得分:1)
@RequiresApi
更加明确,如其文档中所述。
此外,@RequiresApi
有FILED目标:
@Retention(CLASS)
@Target({TYPE,METHOD,CONSTRUCTOR,FIELD})
public @interface RequiresApi {
...
而@TargetApi
没有:
@Target({TYPE, METHOD, CONSTRUCTOR})
@Retention(RetentionPolicy.CLASS)
public @interface TargetApi {
...
因此,@RequiresApi
可以像:
@RequiresApi(api = xxx)
private Foo bar;