You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在代码中启用Android 14的「振动与触觉反馈」功能?

Android 14 中恢复应用振动功能的代码处理方案

Android 14 系统默认关闭「Vibration and Touch Feedback」选项,导致依赖振动的应用功能失效。由于该选项是系统全局设置,应用无权限直接修改,只能通过以下步骤处理:

1. 检测振动功能是否可用

先判断当前系统振动开关是否开启,同时确认应用已获取振动权限:

Kotlin 示例

import android.content.Context
import android.os.VibratorManager
import android.provider.Settings

// 获取振动管理器与默认振动器
val vibratorManager = getSystemService(Context.VIBRATOR_MANAGER_SERVICE) as VibratorManager
val vibrator = vibratorManager.defaultVibrator

// 检查振动是否可用:设备支持振动 + 系统开关已开启
val isVibrationEnabled = vibrator.hasVibrator() && vibrator.isVibrationEnabled

Java 示例

import android.content.Context;
import android.os.VibratorManager;
import android.provider.Settings;

// 获取振动管理器与默认振动器
VibratorManager vibratorManager = (VibratorManager) getSystemService(Context.VIBRATOR_MANAGER_SERVICE);
Vibrator vibrator = vibratorManager.getDefaultVibrator();

// 检查振动是否可用
boolean isVibrationEnabled = vibrator.hasVibrator() && vibrator.isVibrationEnabled();

2. 引导用户开启系统设置

若检测到振动未启用,直接跳转至「Vibration and Touch Feedback」设置页面,让用户手动开启:

Kotlin 示例

if (!isVibrationEnabled) {
    val intent = Intent(Settings.ACTION_VIBRATION_SETTINGS)
    startActivity(intent)
}

Java 示例

if (!isVibrationEnabled) {
    Intent intent = new Intent(Settings.ACTION_VIBRATION_SETTINGS);
    startActivity(intent);
}

3. 声明必要权限

在 AndroidManifest.xml 中添加振动权限,确保应用有权限调用振动功能:

<!-- 基础振动权限(Android 12+ 必需) -->
<uses-permission android:name="android.permission.VIBRATE" />

<!-- 若需后台触发振动,需添加通知权限(可选) -->
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />

关键说明

Android 权限模型限制应用直接修改系统全局设置,「Vibration and Touch Feedback」属于用户可控的系统偏好,因此应用只能通过引导用户手动开启的方式恢复振动功能,无法通过代码直接修改该开关状态。

内容的提问来源于stack exchange,提问作者czg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 15:33:12