Webviewの中にある特定のボタンを(AccessibilityServiceで)クリックすることはできますか?例えば、あるアプリケーションAはMainActivityの中にwebviewを持っています。アクティビティの開始後、Webコンテンツがwebviewにロードされます。読み込まれたウェブページには、「チャット」というテキストのボタンが含まれています。アクセシビリティサービスでこのボタンをクリックできますか?私はAndroidのネイティブウィジェット(android.widget.Button、TextViewなど)をクリックすることができますが、WebビューのWebページに表示されているボタンをクリックする方法はわかりません。助けてくださいアクセシビリティサービスとウェブビュー
答えて
これは複雑な答えです。はい、あなたはビューをクリックできますが、それはウェブ開発者がどのようにボタンを実装したかによって異なります。彼らがonClickリスナーの代わりにリスナーをタッチダウンして実装されたような何か愚かなことをした場合、それは壊れている可能性があります。提案:TalkBackを使用してください。 TalkBackで再生できない場合は、再生できません。それがない場合は、次のコードは、あなたのために働く必要があります。
AccessibilityNodeInfo info = ...;
info.performAction(AccessibilityNodeInfo.ACTION_CLICK);
ミニノート:アクセシビリティサービスから、偽の本物のハードウェア・イベントへの能力を、実装のAndroidの噂がありました。これまでのところ、私はこれをAndroidのデモで利用し、システムアプリ(特権を昇格したもの)のみに利用していることを見てきました。あなたがこれを完璧にするために必要なAPIに注目してください。実際にはどこかに隠れているかもしれませんが、まだ公開されていません。
トークバックでは、「シングルタップクリック」を有効にすると、リンク先のタップでリンクがフォーカスされた後に、シングルタップがWebページで機能しなくなります。これは、performAction(CLICK)がWebページで機能しないことを示しています。 Double-Tapのリンクは機能しますが、ダブルタップは内部的に処理されており、アクセスはありません。 – usman
シングルタップは実験的なものなので、何のメトリックとしても使用しません。 – ChrisCM
でも、シングルタップではperformAction(CLICK)し、Webページやキーボードを除く他のすべてのビューで機能します。少なくともperformAction(CLICK)はWebページで動作しないことを示しています。 ? – usman
私はあなたのような何かをすることができると思いますか?
Button button = (Button)findViewById(R.id.ButtonId);
button.onClick(.....);
私のアプリケーションには、自分のアプリケーションから出て、coantain webview、performActionが動作していない他のアプリを操作している場合、クリックするとアイコンをクリックすると、独自のサービスで実行されるカーソルが含まれています。 –
アクセシビリティサービスで!このコードはうまく動作しません。 AccessibilityServicesにはアプリケーションビューにアクセスする権限がなく、アクセシビリティに基づくビューの表現のみがアクセスできます。 – ChrisCM
- 1. Android:ウェブビューとアクティビティ
- 2. getAccessibilityButtonController Androidアクセシビリティサービス
- 3. Androidのアクセシビリティサービス
- 4. Monodroidのアクセシビリティサービス
- 5. Googleアナリティクス:ウェブビューとアプリケーションビュー
- 6. Xamarinフォーム - チャートコントロールとウェブビュー
- 7. NotificationListenerまたはアクセシビリティサービス
- 8. フレンドジェスチャー、ウェブビュー、アンドロイド
- 9. Xcode not shownウェブビュー
- 10. 検索バー&ウェブビュー
- 11. Android:ウェブビューのフリップ
- 12. ウェブビューの問題
- 13. Google Playウェブサイトフリーズのウェブビュー
- 14. 電子ウェブビューのイベント
- 15. Androidアクセシビリティサービスで通知を検出する
- 16. Qtクイックアンドロイド:アクセシビリティサービスを統合するには
- 17. アクセシビリティサービスが動作しません
- 18. TYPE_WINDOW_STATE_CHANGEDでアクセシビリティサービスを使用する方法
- 19. アクセシビリティサービスで「WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY」プロパティを持つWindowManagerアニメーション
- 20. アンドロイドはアクセシビリティサービスにバインドします
- 21. あるウェブビューから別のウェブビューへの移動
- 22. Androidアクセシビリティサービスをネイティブスクリプトと組み合わせて使用
- 23. ウェブビューを印刷する
- 24. Android:タブビューでウェブビューをプッシュ
- 25. ウェブビューでリフレッシュする方法
- 26. ウェブビューでウェブページを見る
- 27. 半画面のAndroidウェブビュー
- 28. ウェブビューでアプリローカルビデオ(.mp4)を再生
- 29. カードリサイクラービュー内にウェブビューを追加
- 30. ローカルビデオをウェブビューで再生
これを行うには、そのボタンをクリックした後に取得したURLを上書きしてください。その方法では何をしたいのですか? –
私のアプリには、実行するアイコンをクリックすると独自のサービスで実行されるカーソルが含まれています私が自分のアプリケーションから外れていて、他のアプリを操作している場合は、webAttviewをクリックして、performActionが動作しないようにしてください。 –
@AkashDubey私はRohitがユーザーが画面に触れることなくクリックしたいと思う。また、バックエンドサービスから。画面に触れることなく、画面座標を使用してリンク上でFOCUSをどのように取得しますか? – usman