[英]call requires api level 9 (current min is 7) java.text.normalizer#normalize
我是一个月前完成游戏的,直到今天一切都还不错。 我在网上遇到错误:
odgovorNormalized = Normalizer.normalize(konResenje, Normalizer.Form.NFD).replaceAll("[^\\p{ASCII}]", "");
如果我转到清单文件并将API级别更改为任何级别,甚至更改为6,我都不会再出错。 直到我更改代码中的内容。
我刚刚记得我今天将项目编码更改为Latin。 我不知道这是否与此有关。
到今天为止一切正常。
该错误由静态代码分析工具接收。 是的,它将编译,是的,它将运行。 是的,它将在运行时在任何API <9的设备上崩溃。
正确的做法是打开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() {}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.