問題タブ [accessibilityservice]
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 を使用してブラウザー内の EditText にテキストを設定する方法
AccessibilityService
正しく機能し、onAccessibilityEvent()
各イベントで呼び出されるを作成しました。私がやりたいことはEditText
、サービスからブラウザーにデータを入力することです。を使用して、通常のアプリでこれを機能させることができますAccessibilityNodeInfo.ACTION_PASTE
。ただし、これは Chrome などのブラウザー内からの s では機能しませんEditText
が、それらはまったく同じように検出されるように見えます。
サービスの設定方法は次のとおりです。
そして、私がイベントをどのように扱うか:
以下を使用して、マニフェストから xml ファイルにさらにオプションを定義しました。
これはすべて、Chrome とは別に動作するようEditText
です。何も表示されません。他のオプションはありますか? LastPassは何とかそれを行うようです:-)
android - How to identify a Login Page of a App from my app using Accessibility in android
- Hi. Using Accessibility, i am trying to auto fill username & password of an any app from my app which is managing username & password of all apps like dashlane. i found one way to auto fill field value using Action_Paste. when user starts to focusing on EditText it will get the AccessibilityNodeInfo by using getSource() method, using that it auto fills EditText Filed, below is a code for above process.
Code:
Here i need to extend my ui like, it needs identify the login page, once its confirmed as a login page it will show the list of login item. based on user selection it will auto fill username field & password field.
Here i have two question
how to identify the login page of an app, i tried something like, when user clicks a First Edittext filed i will search for next node and check whether it is password filed or not? i used getchild() method. but does not give the child element. When login page loaded in app, i need identify whether it is login field or not? How can i identify a login page, please any tutorial welcome.
based on the source i am filling the field values. if i identified a login page then how to get AccessibilityNodeInfo of username & password. So that i can fill both fields rite?
i spent time for those problem.but i cant get any thing. please anyone can give deep explanation & tutorials for the above problems. thanks.
android - ユーザー補助サービスからの UiAutomation の使用
たとえば、スイッチ、スキャン、ヘッド トラッキングなどを使用して、身体障害を持つ人々がデバイスを制御するためのさまざまな代替手段を提供することを目的とした、Android 用のアクセシビリティ サービスを作成しています。
現在、アプリケーションのインターフェイスで実際のアクションを実行するには、アクセシビリティ API、基本的には AccessibilityNodeInfo.performAction() メソッドを使用します。これはほとんどの場合問題なく機能しますが、いくつかの重要な制限が見つかりました。
- ほとんどのキーボード (IME) は機能しません。Lollipop (API 22) の Google キーボードでのみ成功し、AccessibilityService.getWindows()を使用する必要がありました。API のバージョンが低い場合は、特別なキーボードを開発する必要がありました (最適なソリューションではないことは間違いありません)。
- ほとんどのゲームにはアクセスできません。ドット。AccessibilityNodeInfo ツリーをエクスポートしません。
- Web ナビゲーションは実用的ではありません (スクロールがないなどの問題があります)。
解決策は、別の API を使用してアクションを実行することであり、android.app.UiAutomation が目的に合っているようです。ドキュメントによると、「キーボードやタッチデバイスとのユーザー操作をシミュレートする任意の生の入力イベントを注入することもできます」これは私が探しているものです。ただし、UiAutomation はテスト目的であり (そして、おそらく製品品質のコードの準備ができていない)、おそらく別のデバイスでは同じように動作しない可能性があることは理解しています。また、そのような API は、アプリケーションで使用できる場合、セキュリティ ホールになる可能性があることも理解しています。しかし、AccessibilityNodeInfo.performAction() が同様の「力」を提供することを考えると、アクセシビリティ サービスが UiAutomation を使用できるようにすることは妥当と思われます。
そこで、アクセシビリティ サービス内で次のことを試しました。
しかし、getUiAutomation() は常に null を返します。
ユーザー補助サービス内で UiAutomation (または同様の API) を使用するオプションはありますか?
ところで: デバイスのルート化はオプションではないため、スクリーン ドライバーを介してイベントを挿入することはできません。
android - アクセシビリティ Android で TYPE_WINDOWS_CHANGED イベントを使用できない
Android アプリのウィンドウが変更されたときに呼び出されるアクセシビリティ イベントについて検索しています。探しているものに関連するスタック オーバー フローで 1 つの質問を見つけました。
リンク: TYPE_WINDOWS_CHANGED ユーザー補助サービス
このコメントを調べることで、API レベル 21 以上でのみ実行できるようになりました。しかし、APIレベル14のように下位バージョンでも使用する必要があります。APIレベル14でもTYPE_WINDOWS_CHANGEDを使用するにはどうすればよいですか。APIレベル14でTYPE_WINDOWS_CHANGEDを使用できない場合、新しいアクティビティまたはウィンドウが開いたときにどのイベントを使用できますか? ありがとう。
android - Android のアクセシビリティ サービスを使用してアプリの名前を取得する
私はAccessibility Serviceで働いています。アクセシビリティ サービスを使用してアプリ名を取得する必要があります。私は、Android Web サイトの開発者のアクセシビリティ サービスのドキュメントを調べました。ただし、アクセシビリティを使用してアプリ名を取得することについては言及されていません。
アプリケーションの名前を取得することは可能ですか? アプリケーションの名前を取得してトークバックするので、可能だと思います。そのため、アプリケーションの名前を取得する方法があれば、提案をお願いします。
android - プレス イベントを基になるアクティビティに送り返す
実際、ハードウェアの戻るボタンが機能していません。したがって、私が構築しようとしているのは、クリックするとバックプレスを現在のアクティビティに送信できるフローティングビューです(私のフローティングビューはフォーカスされていないため、オーバーレイの下のアクティビティがフォーカスされています)。
したがって、次のコードを使用してオーバーレイ ビューを作成できました。
焦点が合っていないため、バックキーをディスパッチすると基になるアクティビティに移動すると思いましたが、これは機能しませんでした。
これを行う方法を検索しているときに、まったく同じことをしているこのアプリに出くわしました。これには AccessibilityService を使用していると思いますが、方法がわかりません。誰でもこれを達成する方法を教えてもらえますか(基になるアクティビティにプレスを送り返します)。ありがとう!