Android句柄不推荐使用的方法

Android句柄不推荐使用的方法,android,Android,以下是我如何处理不推荐使用的方法: int layoutDirection ; if (getContext().getApplicationInfo().targetSdkVersion > Build.VERSION_CODES.JELLY_BEAN_MR1) { layoutDirection = getLayoutDirection(); }else { layoutDirection = getResolvedLayoutDirection(); } 问题是在J

以下是我如何处理不推荐使用的方法:

int layoutDirection ;
if (getContext().getApplicationInfo().targetSdkVersion > Build.VERSION_CODES.JELLY_BEAN_MR1) {
    layoutDirection = getLayoutDirection();
}else {
    layoutDirection = getResolvedLayoutDirection();
}
问题是在JELLY_BEAN_MR1及更高版本中删除了
getResolvedLayoutDirection()
。因此,由于我的项目以API20为目标,无法找到该方法,因此我得到了一个错误

如果我保持愚蠢:

int layoutDirection = getLayoutDirection();
该项目编译并运行,但我仍然在添加TargetApi或SuppressLint注释时出错。getLayoutDirection()文档具有:

为了兼容性,如果 API版本低于{@link android.os.Build.VERSION#u code#JELLY_BEAN_MR1}

所以抑制皮棉应该是好的



我应该抑制lint错误还是以其他方式修复它(可能使getResolvedLayoutDirection()可访问)?

有条件地检查方法是否可用的方法是通过
Build.version.SDK\u INT
检查设备正在运行的Android版本:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
    layoutDirection = getLayoutDirection();
}
else {
    layoutDirection = View.LAYOUT_DIRECTION_LTR;
}

并将“<代码> > TargetApi(Bug .ValueNo.Cyto.JelyyBeNayMr1)指向包含上述块的方法,以指示对于该构建工具,对于该单独的方法,将您的<代码> MimSDKValue<代码>为17而不是通常的任何东西,以生成LICT警告和错误。