当前位置: 首页 > 知识库问答 >
问题:

标准Android 12上的ACCURACY\u FINE lint错误

董谦
2023-03-14

将compileSdkVersion更改为31后,我现在收到一些提示Criteria的lint错误。ACCURACY_FINE必须是其中之一:ProviderProperties.ACCURACY_FINE, ProviderProperties.ACCURACY_COARSE对于这行代码:locationManager.addTestProvider(LocationManager.GPS_PROVIDER, false, false, false, false, true, true, Criteria.POWER_LOW, Criteria.ACCURACY_FINE);。我将其更改为ProviderProperties。ACCURACY_FINE,现在它说字段需要API级别31。我将其包装在一个ifSDK版本

重现此错误的示例:

LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
    locationManager.addTestProvider(LocationManager.GPS_PROVIDER, false, false, false, false, true, true, true, ProviderProperties.POWER_USAGE_LOW, ProviderProperties.ACCURACY_FINE);
} else {
    locationManager.addTestProvider(LocationManager.GPS_PROVIDER, false, false, false, false, true, true, true, Criteria.POWER_LOW, Criteria.ACCURACY_FINE);
}

共有1个答案

叶裕
2023-03-14

使用@TargetApi(31)和/或@SuppressLint("Deprecated")注释该方法(也提供回退)。可以提供类似的向后兼容性-或在某些遗留构建类型中保留旧实现...当它变得有点向后兼容代码时,这可能是需要考虑的事情。

 类似资料:
  • 我有安装,以便在所有以前版本的Android中验证所需的应用程序链接。然而,这种验证在Android 12(目前为Beta 2)中不再有效<代码>adb shell pm获取应用程序链接 Android12中的应用链接验证似乎有一些变化,但是留档并没有非常明确地说明需要更改什么以及更改是否向下兼容。

  • 1.1.1. 驱动错误代码 1.1.1. 驱动错误代码 标准错误 E_DRIVER_ERROR 通用错误 E_INVALID_AUTHORIZATION 授权非法,并且不应该继续使用、刷新 E_DRIVER_SIGN_ERROR 签名错误(Token 超时时使用)提醒用户去 App 授权 E_DRIVER_DEVICE_NO_FOUND 设备不存在 E_DRIVER_TIMEOUT 设备控制超时

  • 我已经开始学习JSP,并尝试编写我的第一个JSP页面,并使用操作标记。bean是一个空类,没有属性,只有一个方法: 我将FirstBean.java文件编译到位于WEB-INF/classes目录的foo目录中。然后我得到了包含以下内容的fistbean.jsp文件: 如果有人能帮助我解决这个问题,我们将不胜感激。

  • 我刚刚升级到Visual Studio 2017社区版,但在加载标准头文件时遇到了问题。我从各种头文件中得到507个错误。以下是一些片段: 一些错误: 我在Visual Studio 2015社区版中从未遇到过此问题。我是否缺少安装程序中的某些组件?任何帮助都将不胜感激。谢谢!

  • 问题内容: 我有一个奇怪的问题,如果可以解决,那就太好了。出于调试目的(以及其他一些目的),我在标准输出上编写了控制台Java应用程序的日志。在标准输出上写一些内容,在标准错误上打印一些错误,例如错误。问题是这两个没有完全同步,因此打印线的顺序并不总是正确的。我猜这是因为打印了很多东西,并且碰巧一个输出的缓冲区已满,所以其他输出在第一个输出刷新其缓冲区之前就已打印出来。 例如,我想这样写: 有时打

  • 问题内容: 我正在尝试从https://github.com/go-yaml/yaml导入go- yaml,但看到Google无法帮助的错误。 我运行了,但是却遇到了错误:尝试运行程序时。我也不会在导入中做任何异国情调的操作: 任何帮助,将不胜感激! 问题答案: Go有两个必须在os环境中定义的路径,即GoRoot和GoPath,GoRoot是Go的安装路径,其中只有“标准软件包”。GoPath是