Talkback 未通过 adb shell 启用

问题描述 投票:0回答:4

我尝试过命令

adb shell settings put secure enabled_accessibility_services com.android.talkback/com.google.android.marvin.talkback.TalkBackService
来从 adb shell 启用对讲。它切换表示对讲状态的 ui 按钮,但对讲实际上并未启用。 我正在尝试以编程方式为 android 6.0 启用对讲。还有其他彻底的方法可以启用它吗?

automation settings accessibilityservice talkback accessibility
4个回答
29
投票

切换 TalkBack 的命令:

// disable
adb shell settings put secure enabled_accessibility_services com.android.talkback/com.google.android.marvin.talkback.TalkBackService

// enable
adb shell settings put secure enabled_accessibility_services com.google.android.marvin.talkback/com.google.android.marvin.talkback.TalkBackService

感谢@zeh


7
投票

为了方便起见,我使用 shell 脚本来切换此设置。

output=$(adb shell settings get secure enabled_accessibility_services)

if [[ "$output" == "com.android.talkback/com.google.android.marvin.talkback.TalkBackService" ]]; then
  adb shell settings put secure enabled_accessibility_services com.google.android.marvin.talkback/com.google.android.marvin.talkback.TalkBackService
else
  adb shell settings put secure enabled_accessibility_services com.android.talkback/com.google.android.marvin.talkback.TalkBackService
fi

0
投票

您是否将其与任何其他辅助功能服务或 UI 自动化(利用辅助功能 API)一起运行? 辅助服务一次只能运行一项,否则尝试将导致各处出现异常。 检查 LogCat 并查看 TalkBack 是否正在尝试启动,但在启动时抛出异常。


0
投票

扩展其他答案,我将其放入我的

~/.zshrc

function toggleTalkback() {
  output=$(adb shell settings get secure enabled_accessibility_services)
  if [[ "$output" != "com.google.android.marvin.talkback/com.google.android.marvin.talkback.TalkBackService" ]]; then
    echo "Talkback on…"
    adb shell settings put secure enabled_accessibility_services com.google.android.marvin.talkback/com.google.android.marvin.talkback.TalkBackService
  else
    echo "Talkback off…"
    adb shell settings put secure enabled_accessibility_services com.android.talkback/com.google.android.marvin.talkback.TalkBackService
  fi
}
© www.soinside.com 2019 - 2025. All rights reserved.