首页 > 解决方案 > API 31 不推荐使用“VIBRATOR_SERVICE: String”

问题描述

正如标题所说,我升级到 API 31。我有一个执行振动的功能,但在行

val vib = this.getSystemService(Context.VIBRATOR_SERVICE) as Vibrator

VIBRATOR_SERVICE现在显示为已弃用。我该如何更换它?或者至少,API 31 及更高版本的现代解决方案是什么?

编辑:正如 Joachim Sauer 所写,替代方案是 VibrationManager。我现在需要的是使用 VibrationManager 的等效代码行。

标签: androiddeprecatedvibrationandroid-api-31

解决方案


该领域的文档是这样说的:

此常量在 API 级别 31 中已弃用。 用于VibratorManager检索默认系统振动器。

需要实例的代码最直接的翻译Vibrator是这样的:

val vibratorManager = this.getSystemService(Context.VIBRATOR_MANAGER_SERVICE) as VibratorManager
val vibrator = vibratorManager.getDefaultVibrator();

一般来说,每当像这样不推荐使用类/方法/字段时,您应该首先检查文档。几乎每一次它都会告诉你用什么来代替(或者在某些情况下它没有替代品)。


推荐阅读