問題タブ [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.
android - AccessibilityService は、電源をオフにするとバインドが解除され、再起動後に再バインドされない
の問題に直面していAccessibilityService
ます。電源をオフにすると、デバイスAccessibilityService
が呼び出されてバインドが解除されonUnbind
ます。しかし、デバイスを再度起動すると、再AccessibilityService
バインドされず、onRebind
サービスが呼び出されません。adb コマンドを使用して確認したところ、サービスが有効であることがわかりましたが、サービスがリバウンドしていadb shell dumpsys activity service .MyPackage.AccessibilityService
ないため、受信していません。AccessibilityEvent
設定から AccessibilityService を停止して再起動すると、すべてが正常に機能し始めます。どうすればこの問題を解決できますか..? ユーザーが設定からサービスを開始することを強制するので、私はそれを使用disableself
することについて考えましたが、この呼び出しはから利用できます。それで、私は何をすべきですか..?onUnbind
API 24
android - フラグメントは、Android Talkback での起動時にどのようにアナウンスできますか?
Fragment
Android Talkback の起動時に自分自身を発表したいと考えています。Activity
AndroidManifest ファイルのアクティビティ タグに「android:label」を追加すると、自身が通知されます。どうすればそれを行うことができFragment
ますか?
android - Android AccessibilityService がイベントを受信しない
私はしばらくの間、この問題で壁にぶつかっています:
このアクセシビリティ サービスは、通知を読み取って処理します。最初は私の電話 (Moto G4) で正常に動作しましたが、この同じコードがエミュレーターで 100% 動作しても、どのスマートフォンでも動作しませんでした。
私はアプリのアクセシビリティ サービスをオンにしており、一部のテスト実行で電話を再起動してアプリを完全にインストールし、システム設定でサービスを有効にした場合に備えて、それを無効にしてから再度有効にする傾向があります。
私を困惑させたのは、上記のように、このコードはエミュレーターで問題なく動作し、以前は私の電話でも動作していたことです。AccessibilityService は、一部のスマートフォンでイベントを受信しません。
Moto G4、LG G2、Asus、Huawei でテスト済み... Marshmallow / Lollipop を実行中 (動作していません)
エミュレーター API 16-19-23 でテスト済み、すべて期待どおりに動作します
これは AndroidManifest.xml の宣言です
ユーザー補助サービスの構成 xml
AccessibilityService がイベントを受信しなくなったのはなぜですか?
android - Android アクセシビリティ識別見出し
Talkback の最新バージョンと、「My Top level Text Heading」をアナウンスしているバージョンがあります。Android ネイティブの動作により、最上位要素に「見出し」が追加されます。ヘディングアナウンスのオン/オフを切り替える方法が見つかりませんでした。その動作を制御する API はありますか。以前のバージョンの Talkback バージョンでは、「Heading」自体はアナウンスされませんでした。
android - ScrollView は、子 TextViews ではなくトークバックによってフォーカスされています
内部に複数の TextView を持つ ScrollView があります(デフォルトではフォーカスできません)。TalkBack を使用して画面をナビゲートすると、TalkBack は ScrollView 全体にのみフォーカスし、そのすべてのコンテンツを一度に読み取ります。
TalkBack が ScrollView コンテナーではなく各 TextView にフォーカスするようにいくつかのことを試みましたが、それを行う良い方法が見つかりませんでした。サンプルコードは次のとおりです。
各 TextViewに追加しようとしたためandroid:focusable=true
、TalkBack でフォーカス可能になりましたが、親の ScrollView はまだ最初にフォーカスされていました。理想的には、ScrollView が TalkBack によって完全に無視され、フォーカスがその子ビューに直接移動することを望みます。
TalkBack に ScrollView を完全に無視させ、代わりに各子 TextView を 1 つずつフォーカスさせるにはどうすればよいですか?
android - onAccessibilityEvent がまったく呼び出されない
を実装しようとしていAccessibilityService
ます。以下のコードを共有しました。設定メニューからアクセシビリティ サービスをオンにすると、onServiceConnected()
呼び出されますが、onAccessibiltyEvent()
まったく呼び出されません。これについて私を案内してください。
マニフェスト ファイルのサービス宣言。
XML ファイル
MyAccessibiltyService.java
すべてのスタックオーバーフローの回答を既に確認しているため、これを重複としてマークしないでください。
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
常に空白です。
いくつかの助けをいただければ幸いです ありがとう。
android - TalkBack に TextView エラー メッセージを自動的に読ませるにはどうすればよいですか?
現在、アプリをアクセス可能にしていますが、EditTexts に問題があります。
すべての EditText で、ユーザーの入力はある時点 (ボタンを押した後など) で検証され、入力が無効な場合は、 を使用してエラーを表示しますeditText.setError("message")
。問題は、TalkBack がオンの場合、自動的にフォーカスしてエラーを読み上げないことです。また、エラーのビューを取得できないため、TalkBack を介してフォーカスするように要求することはできませんsendAccessibilityEvent
。
を使用しながらこの問題を解決する方法についてのアイデアをいただければ幸いeditText.setError()
です。
編集 1 @Abhishek V ソリューションのコードを追加: