7
我在我的應用程序中使用@TargetApi(23)。是@TargetApi註釋僅適用於一個Api級別或以上?
@TargetApi(23)
@Override
public void onAttach(Context context) {
super.onAttach(context);
onAttachToContext(context);
}
@SuppressWarnings("deprecation")
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
onAttachToContext(activity);
}
}
protected void onAttachToContext(Context context) {
}
但我不明白的東西:@TargetApi(23)標註的平均「只是API級別23」或「爲API級別23及以上」?例如,如果設備24的Api級別是onAttach(上下文環境)方法,則稱爲?
'@TargetApi(23)'意味着「作爲此方法的作者,我將確保它永遠不會在API級別24或更高級別上調用。但是,我測試了它並覺得它對於API級別正常工作即使我的'minSdkVersion'低於23。您使用'@ TargetApi'對Android本身以及是否調用該方法都沒有影響。它只是告訴構建工具停止抱怨你覺得你正在處理的問題。 – CommonsWare