我是一个月前完成游戏的,直到今天一切都还不错。我在网上遇到错误:
odgovorNormalized = Normalizer.normalize(konResenje, Normalizer.Form.NFD).replaceAll("[^\\p{ASCII}]", "");
如果我转到清单文件并将API级别更改为任何级别,甚至更改为6,我都不会再出错。直到我更改代码中的内容。
我刚刚记得我今天将项目编码更改为Latin。我不知道这是否与此有关。
到今天为止一切正常。
最佳答案
该错误由静态代码分析工具接收。是的,它将编译,是的,它将运行。是的,它将在运行时在任何API
正确的做法是打开API:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
/* Use Normalizer normally */
} else {
/* Fall back on some default behavior */
}
您可以抑制这样的错误,但始终确保先修复它们:
@SuppressLint("NewApi")
public void methodThatUsesNewAPI() {}