6

視覚障害者向けの Android アプリを開発しています。私のアプリケーションでは、TTS/オーディオ ファイルを使用してすべてのタップ/タッチを処理しています。問題なく動作しますが、ユーザーが TalkBack 機能をオンにすると、すべてのタップ/タッチが 2 回口述されます。まず、TalkBack によって指示され、次に内部メカニズムによって指示されます。

TalkBack が有効になっているかどうかを検出できます。

    public boolean accessibilityEnable(Context context) {
        boolean enable = false;
        Log.e("Reached before function", "yes");
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
            try {
                AccessibilityManager manager = (AccessibilityManager) context.getSystemService(Context.ACCESSIBILITY_SERVICE);
                List<AccessibilityServiceInfo> serviceList = manager.getEnabledAccessibilityServiceList(AccessibilityServiceInfo.FEEDBACK_SPOKEN);
                Log.e("Reached before for loop", "yes");
                for (AccessibilityServiceInfo serviceInfo : serviceList) {
                    String name = serviceInfo.getSettingsActivityName();

                    if (!TextUtils.isEmpty(name) && name.equals(TALKBACK_SETTING_ACTIVITY_NAME)) {
                        enable = true;
                        Log.e("Reached after if loop", "yes");
                    }
                }
                Log.e("Reached after for loop", "yes");
            } catch (Exception e) {
                Log.e("Error", "Error aaya re");
            }
        }
        return enable;
    }

アプリがアクティブなときはいつでもトークバック機能を無効にしたいですか?

4

0 に答える 0