我正在使用boi返回类型的方法为api 19,而我的应用程序支持min sdk 15,该方法将返回什么,api小于19?
@TargetApi(19)
public static boolean isFeatureXEnabled(Context context) {
some logic
return true/false;
}
在调用API< 19时我会得到什么?
classInstance.isFeatureXEnabled(上下文);
答案 0 :(得分:2)
让我们理解@TargetApi(19)
您使用的是最低SDK无法使用的功能
Compiler : you cannot use this feature , it is not supported by min sdk
You: i know what i am doing so hush , take this @TargetApi(19)
Compiler : so now it is your responsibility to check the API level and call this function accordingly
该方法返回的内容将使api小于19
如果minsdk不支持此函数内的代码,那么很可能是崩溃,否则你的逻辑计算结果
你可以做这样的事情
@TargetApi(19)
public static boolean isFeatureXEnabled(Context context) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
some logic
return true/false;
}
return false;
}
答案 1 :(得分:1)
<强> @TargetApi 强>
表示Lint应将此类型视为定位给定的API级别,无论项目目标是什么 - https://developer.android.com/reference/android/annotation/TargetApi.html
这意味着它只是被Lint用来隐藏/禁止警告。它对返回值有影响。