Thao tác bật/tắt TalkBack trên Android qua ADB

Khi kiểm tra tính tương thích trợ năng của ứng dụng Android, việc bật/tắt dịch vụ TalkBack thủ công trong cài đặt có thể gây bất tiện, đặc biệt là khi tắt dịch vụ (phải nhấn đúp trong chế độ TalkBack). Với thiết bị có bật gỡ lỗi ADB, bạn có thể thực hiện nhanh chóng qua lệnh điều khiển.

1. Tương tác với TalkBack qua ADB

(1) Kiểm tra trạng thái hiện tại
adb shell settings get secure enabled_accessibility_services

Lệnh này sẽ liệt kê các dịch vụ trợ năng đang hoạt động, nếu không có thì trả về null.

(2) Kích hoạt TalkBack
adb shell settings put secure enabled_accessibility_services com.google.android.marvin.talkback/com.google.android.marvin.talkback.TalkBackService
(3) Vô hiệu hóa TalkBack

Lưu ý: Lệnh này sẽ xóa toàn bộ dịch vụ trợ năng đã kích hoạt

adb shell settings put secure enabled_accessibility_services null

2. Tự động hóa bằng tập lệnh CMD

Để thuận tiện cho việc sử dụng thường xuyên, bạn có thể tạo tập lệnh CMD với các chức năng sau:

status: Hiển thị danh sách dịch vụ trợ năng đang chạy bat: Kích hoạt TalkBack het: Vô hiệu hóa TalkBack giup: Hiển thị hướng dẫn sử dụng [Nếu có nhiều thiết bị -thietbi để chọn thiết bị cụ thể]

@echo off
:: Quản lý TalkBack qua ADB
echo.

:: Kiểm tra tham số đầu vào
if "%1"=="" (
    echo Lỗi: Vui lòng nhập lệnh. Các lệnh có sẵn: status, bat, het
    exit /b
)
set THIETBI_CHOXACH=
:: Xử lý tham số -thietbi
if "%2"=="-thietbi" (
    set THIETBI_CHOXACH=%3
)

:: Hiển thị trạng thái
if "%1"=="status" (
	adb devices -l
    echo Đang kiểm tra trạng thái TalkBack...
    if "%THIETBI_CHOXACH%"=="" (
		adb shell settings get secure enabled_accessibility_services
	) else (
		adb -s %THIETBI_CHOXACH% shell settings get secure enabled_accessibility_services
	)
    if %ERRORLEVEL% neq 0 (
        echo Lỗi...Kiểm tra kết nối ADB và log thiết bị [dùng -thietbi để chọn]
        exit /b
    )
    exit /b
)

:: Kích hoạt TalkBack
if "%1"=="bat" (
    adb devices -l
	echo Bật dịch vụ TalkBack...
    if "%THIETBI_CHOXACH%"=="" (
		adb shell settings put secure enabled_accessibility_services com.google.android.marvin.talkback/com.google.android.marvin.talkback.TalkBackService
	) else (
		adb -s %THIETBI_CHOXACH% shell settings put secure enabled_accessibility_services com.google.android.marvin.talkback/com.google.android.marvin.talkback.TalkBackService
	)
    if %ERRORLEVEL% neq 0 (
        echo Lỗi...Kiểm tra kết nối ADB và log thiết bị [dùng -thietbi để chọn]
        exit /b
    )
    exit /b
)

:: Vô hiệu hóa TalkBack
if "%1"=="het" (
    adb devices -l
	echo Tắt dịch vụ TalkBack...
     if "%THIETBI_CHOXACH%"=="" (
		adb shell settings put secure enabled_accessibility_services null
	) else (
		adb -s %THIETBI_CHOXACH% shell settings put secure enabled_accessibility_services null
	)
    if %ERRORLEVEL% neq 0 (
        echo Lỗi...Kiểm tra kết nối ADB và log thiết bị [dùng -thietbi để chọn]
        exit /b
    )
    exit /b
)

:: Hiển thị trợ giúp
if "%1"=="giup" (
    echo Danh sách lệnh:
	echo   status		Danh sách dịch vụ trợ năng đang chạy
	echo   bat			Bật TalkBack
	echo   het			Tắt TalkBack
	echo   -thietbi		Chọn thiết bị cụ thể khi có nhiều máy kết nối
    exit /b
)

:: Lệnh không hợp lệ
echo Lỗi: Lệnh "%1" không tồn tại. Các lệnh có sẵn: status, bat, het, giup
exit /b

Ví dụ sử dụng:

Với 1 thiết bị:

PS D:\ThucHanh> ./talkback.bat bat

Danh sách thiết bị:
ABC123456789	device
XYZ789456123	device

Bật dịch vụ TalkBack...
PS D:\ThucHanh>

Với nhiều thiết bị:

PS D:\ThucHanh> ./talkback.bat bat -thietbi ABC123456789

Danh sách thiết bị:
ABC123456789	device
XYZ789456123	device

Bật dịch vụ TalkBack...
PS D:\ThucHanh>

Khi lệnh thành công, thiết bị vật lý sẽ có thông báo giọng nói "TalkBack đã được bật".

3. Giới thiệu TalkBack

TalkBack là trình đọc màn hình tích hợp trong hệ điều hành Android, hỗ trợ người dùng khuyết tật thị giác thao tác điện thoại. Khi bật, thiết bị sẽ đọc nội dung màn hình qua loa, đồng thời nhận diện các cử chỉ để điều hướng.

1. Phản hồi âm thanh

TalkBack đọc toàn bộ văn bản hiển thị trên màn hình như tên ứng dụng, nút bấm, ô nhập liệu. Khi người dùng chạm vào một phần tử, hệ thống sẽ thông báo qua giọng nói. Ví dụ: chạm vào nút "Gửi", TalkBack sẽ đọc "nút Gửi".

2. Tương tác bằng cử chỉ

Các thao tác chính bao gồm:

  • Chạm đơn: Chọn mục hiện tại
  • Chạm kép: Xác nhận chọn
  • Trượt dọc: Cuộn nội dung
  • Trượt ngang: Di chuyển giữa các mục
  • Trượt 2 ngón: Cuộn trang web

Thẻ: Android ADB Accessibility ScreenReader

Đăng vào ngày 1 tháng 6 lúc 12:24