0
私は盲人用のアプリケーションを作成しました。これは、テキストと音声で動作します。私がトークバックを開くと、私のアプリは動かず、ロゴ画面にロックされます。私が探しているのは、私のアプリがトークバックを止めるときです。コードでトークバックを無効にする
私は盲人用のアプリケーションを作成しました。これは、テキストと音声で動作します。私がトークバックを開くと、私のアプリは動かず、ロゴ画面にロックされます。私が探しているのは、私のアプリがトークバックを止めるときです。コードでトークバックを無効にする
ユーザーがシステム権限WRITE_SECURE_SETTINGS
(ADB経由)を許可されていない限り、TalkBackをアプリ内からオンまたはオフにすることはできません。
private static final String TALKBACK_SERVICE_NAME = "com.google.android.marvin.talkback/.TalkBackService";
private void updateTalkBackState(boolean enableTalkBack) {
if (enableTalkBack) {
enableAccessibilityService(TALKBACK_SERVICE_NAME);
} else {
disableAccessibilityServices();
}
}
private void enableAccessibilityService(String name) {
Settings.Secure.putString(getContentResolver(), Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES, name);
Settings.Secure.putString(getContentResolver(), Settings.Secure.ACCESSIBILITY_ENABLED, VALUE_ENABLED);
}
private void disableAccessibilityServices() {
Settings.Secure.putString(getContentResolver(), Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES, "");
Settings.Secure.putString(getContentResolver(), Settings.Secure.ACCESSIBILITY_ENABLED, VALUE_DISABLED);
}