我在我的应用程序中使用@TargetApi(23)。
@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(Context context) 方法?
目标API http://developer.android.com/reference/android/annotation/TargetApi.html注释仅用于 lint 工具目的,在运行时没有结果。如果您在方法中使用 23 上可用的任何 API 方法并且未声明 TargetApi,您只会收到一些警告,表明您正在使用最低 SDK 版本中不可用的 API。您有责任在调用此方法时保持一致,并了解调用该方法的 API 级别。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)