我尝试过命令
adb shell settings put secure enabled_accessibility_services com.android.talkback/com.google.android.marvin.talkback.TalkBackService
来从 adb shell 启用对讲。它切换表示对讲状态的 ui 按钮,但对讲实际上并未启用。
我正在尝试以编程方式为 android 6.0 启用对讲。还有其他彻底的方法可以启用它吗?
切换 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
为了方便起见,我使用 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
您是否将其与任何其他辅助功能服务或 UI 自动化(利用辅助功能 API)一起运行? 辅助服务一次只能运行一项,否则尝试将导致各处出现异常。 检查 LogCat 并查看 TalkBack 是否正在尝试启动,但在启动时抛出异常。
扩展其他答案,我将其放入我的
~/.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
}