問題タブ [android-accessibility]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
591 参照

android - AccessibilityService は、電源をオフにするとバインドが解除され、再起動後に再バインドされない

の問題に直面していAccessibilityServiceます。電源をオフにすると、デバイスAccessibilityServiceが呼び出されてバインドが解除されonUnbindます。しかし、デバイスを再度起動すると、再AccessibilityServiceバインドされず、onRebindサービスが呼び出されません。adb コマンドを使用して確認したところ、サービスが有効であることがわかりましたが、サービスがリバウンドしていadb shell dumpsys activity service .MyPackage.AccessibilityServiceないため、受信していません。AccessibilityEvent設定から AccessibilityService を停止して再起動すると、すべてが正常に機能し始めます。どうすればこの問題を解決できますか..? ユーザーが設定からサービスを開始することを強制するので、私はそれを使用disableselfすることについて考えましたが、この呼び出しはから利用できます。それで、私は何をすべきですか..?onUnbindAPI 24

0 投票する
2 に答える
3446 参照

android - フラグメントは、Android Talkback での起動時にどのようにアナウンスできますか?

FragmentAndroid Talkback の起動時に自分自身を発表したいと考えています。ActivityAndroidManifest ファイルのアクティビティ タグに「android:label」を追加すると、自身が通知されます。どうすればそれを行うことができFragmentますか?

0 投票する
2 に答える
1477 参照

android - Android AccessibilityService がイベントを受信しない

私はしばらくの間、この問題で壁にぶつかっています:

このアクセシビリティ サービスは、通知を読み取って処理します。最初は私の電話 (Moto G4) で正常に動作しましたが、この同じコードがエミュレーターで 100% 動作しても、どのスマートフォンでも動作しませんでした。

私はアプリのアクセシビリティ サービスをオンにしており、一部のテスト実行で電話を再起動してアプリを完全にインストールし、システム設定でサービスを有効にした場合に備えて、それを無効にしてから再度有効にする傾向があります。

私を困惑させたのは、上記のように、このコードはエミュレーターで問題なく動作し、以前は私の電話でも動作していたことです。AccessibilityService は、一部のスマートフォンでイベントを受信しません。

Moto G4、LG G2、Asus、Huawei でテスト済み... Marshmallow / Lollipop を実行中 (動作していません)
エミュレーター API 16-19-23 でテスト済み、すべて期待どおりに動作します

これは AndroidManifest.xml の宣言です

ユーザー補助サービスの構成 xml

AccessibilityService がイベントを受信しなくなったのはなぜですか?

0 投票する
4 に答える
8102 参照

android - Android アクセシビリティ識別見出し

Talkback の最新バージョンと、「My Top level Text Heading」をアナウンスしているバージョンがあります。Android ネイティブの動作により、最上位要素に「見出し」が追加されます。ヘディングアナウンスのオン/オフを切り替える方法が見つかりませんでした。その動作を制御する API はありますか。以前のバージョンの Talkback バージョンでは、「Heading」自体はアナウンスされませんでした。

0 投票する
1 に答える
1479 参照

android - ScrollView は、子 TextViews ではなくトークバックによってフォーカスされています

内部に複数の TextView を持つ ScrollView があります(デフォルトではフォーカスできません)。TalkBack を使用して画面をナビゲートすると、TalkBack は ScrollView 全体にのみフォーカスし、そのすべてのコンテンツを一度に読み取ります。

TalkBack が ScrollView コンテナーではなく各 TextView にフォーカスするようにいくつかのことを試みましたが、それを行う良い方法が見つかりませんでした。サンプルコードは次のとおりです。

各 TextViewに追加しようとしたためandroid:focusable=true、TalkBack でフォーカス可能になりましたが、親の ScrollView はまだ最初にフォーカスされていました。理想的には、ScrollView が TalkBack によって完全に無視され、フォーカスがその子ビューに直接移動することを望みます。

TalkBack に ScrollView を完全に無視させ、代わりに各子 TextView を 1 つずつフォーカスさせるにはどうすればよいですか?

0 投票する
3 に答える
5725 参照

android - onAccessibilityEvent がまったく呼び出されない

を実装しようとしていAccessibilityServiceます。以下のコードを共有しました。設定メニューからアクセシビリティ サービスをオンにすると、onServiceConnected()呼び出されますが、onAccessibiltyEvent()まったく呼び出されません。これについて私を案内してください。

マニフェスト ファイルのサービス宣言。

XML ファイル

MyAccessibiltyService.java

すべてのスタックオーバーフローの回答を既に確認しているため、これを重複としてマークしないでください。

0 投票する
0 に答える
345 参照

android - 変更方法 トークバックアナウンス Alt + Shift + Enter を押して、Google マップ マーカーでアクティブにします

Google マップがあり、マップ上にマーカーを追加しました。アクセシビリティ モードがオンで、Bluetooth キーボードを使用してマップ マーカーに移動すると、Alt+ ⇧Shift+を押すと通知されますEnter ↵</kbd> to activate. However pressing the key combination does not have any action on map. How can i disable map marker to stop announcing this. I have overriden Enter ↵</kbd> key and added my functionality on tap of Enter button. How can i change talkback to announce press Enter ↵</kbd> instead of press Alt+⇧Shift+Enter ↵</kbd> to activate on map marker.

ダブルタップと長押しのAndroidトークバック手順を変更する方法で提供されているソリューションを試しましたが 、デリゲートを追加しましたmapfragment.getView()が、accessibility.getActionList常に空白です。

いくつかの助けをいただければ幸いです ありがとう。

0 投票する
1 に答える
2857 参照

android - TalkBack に TextView エラー メッセージを自動的に読ませるにはどうすればよいですか?

現在、アプリをアクセス可能にしていますが、EditTexts に問題があります。

すべての EditText で、ユーザーの入力はある時点 (ボタンを押した後など) で検証され、入力が無効な場合は、 を使用してエラーを表示しますeditText.setError("message")。問題は、TalkBack がオンの場合、自動的にフォーカスしてエラーを読み上げないことです。また、エラーのビューを取得できないため、TalkBack を介してフォーカスするように要求することはできませんsendAccessibilityEvent

を使用しながらこの問題を解決する方法についてのアイデアをいただければ幸いeditText.setError()です。

編集 1 @Abhishek V ソリューションのコードを追加: