ユーザー 補助 サービス と は。 Android ロックを設定するのに「ユーザー補助がONになっています」は関係ない?

Androidのユーザー補助サービス(Accessibility Service)は楽しい

ユーザー 補助 サービス と は

Fire OSのユーザー補助機能について このページでは、Amazonが提供するFire OSアプリ向けのユーザー補助機能について概要を説明します。 アクセシビリティについて アクセシビリティとは、特定の障がいを持つユーザーが製品やサービスを利用できる度合いを指します。 製品やサービスのアクセシビリティが高ければ、障がいを持つユーザーがその製品やサービスを簡単かつ効率的に利用できます。 アクセシビリティの高いシステムには、主に次の3つの要素があります。 アクセシビリティ対応アプリ• アクセシビリティフレームワーク• ユーザー補助機能 ユーザー補助機能とは、障がいを持つ方の作業や製品利用を支援する技術です。 ユーザー補助機能の例には、目の不自由なユーザー向けの画面読み上げソフトウェアや、視力が低いユーザー向けの画面拡大ソフトウェア、歩行が困難なユーザー向けの車椅子などがあります。 ヒント: Fire TVのVoiceViewの詳細については、エンドユーザー向けドキュメントのを参照してください。 Amazon Fireタブレットで使用可能なFire OSのユーザー補助機能 Fire OSは現在、Fireタブレットで次のユーザー補助機能に対応しています。 VoiceView: 目の不自由なユーザーが、音声による出力、タッチ入力またはキーボード入力を使用して、画面のオブジェクトを操作できるようにします。 拡大鏡: 視力の低い人が画面を拡大して表示できます。 大きいフォント: ほとんどのUIのフォントサイズを大きくできます。 色の反転: テキストと背景に高コントラストの色を組み合わせて、Fireタブレットでコンテンツを読みやすくします。 色の補正: 色覚異常のあるユーザーが色を識別しやすいよう、画面の色の出力を調整できます。 ステレオからモノラルに変換: Fireタブレットのオーディオ設定をステレオからモノラルに切り替え、片方のイヤホンから出力します。 システムの字幕: SilkブラウザのAmazonインスタントビデオとWebビデオの字幕の外観をカスタマイズできます。 または、電源ダイアログが表示されるまで電源ボタンを長押ししてから、画面を2本指で押し続けます。 FireタブレットでVoiceViewを使用するには、次のようにします。 画面上のアイテムをタッチし、そのアイテムにVoiceViewのカーソルを移動します。 VoiceViewでアイテムがフォーカスされると、アイテムの周囲に緑色の枠が表示されます。 VoiceViewのカーソルをアイテムに移動すると、VoiceViewによってアイテムの説明が読み上げられます。 画面の任意の場所をダブルタップすると、VoiceViewカーソルでフォーカスされているアイテムがアクティブ化されます。 また、アイテムをタップしてVoiceViewのカーソルを移動する代わりに、右にスワイプして次のアイテムに移動したり、左にスワイプして前のアイテムに移動したりすることで、画面のアイテムすべてを連続して移動することもできます。 Amazon Fireタブレットで拡大鏡をアクティブ化 Fireタブレットで拡大鏡をアクティブ化するには、次のようにします。 拡大鏡が有効になっている状態で、1本の指で3回タップすると画面を拡大表示します。 2本の指でドラッグすると、画面が移動します。 1本の指で3回タップすると、画面の拡大表示が終了します。 Fire OSのVoiceViewとAndroidのTalkBackの違い Fire OSのVoiceViewとAndroidのTalkBackは、どちらもAndroidのアクセシビリティフレームワークと連携するアクセシビリティサービスです。 ただし、VoiceViewはTalkBackの単なる修正版ではなく、まったく異なるスクリーンリーダーです。 VoiceViewとTalkBackには、次のような違いがあります。 新しいウィンドウでのフォーカス動作: 新しいウィンドウが開いたとき、VoiceViewでは画面のどこかに必ずアクセシビリティフォーカスが当たった状態になります。 TalkBackでは、新しいウィンドウのどこにもフォーカスが当たりません。 ユーザーが画面にタッチするまで待機し、タッチされた場所がフォーカスされます。 複数のウィンドウにわたるリニアナビゲーション: VoiceViewではウィンドウ境界を越えたリニアナビゲーションが可能ですが、TalkBackではできません。 タブレットの下部のナビゲーションバーは、実際は3つのボタンが搭載されたウィンドウになっています。 VoiceViewでは、左にスワイプすると、カーソルがメインコンテンツウィンドウ内の最後のアイテムに移動します。 TalkBackでは、下部のナビゲーションバーの [戻る] ボタンから左にスワイプしても、ナビゲーションバーから直線的に移動することはできず、「終端」を表すイヤコンが再生されます。 オブジェクト間の細かな移動: VoiceViewではオブジェクト間を細かく移動できますが、TalkBackではできません。 「Cat」、「Dog」、「Monkey」というタイトルの3つのオブジェクトが画面にあるとします。 単語ごとに移動する場合、VoiceViewでは「Cat」から「Dog」、「Monkey」へとシームレスに移動します。 それに対して、TalkBackでは「Dog」で停止し、次の単語には移動しません。 同様に、文字単位で移動する場合、「Dog」の「g」に移動した後、下にスワイプして次の文字に移動しようとすると、VoiceViewでは「Cat」の「C」に移動します。 TalkBackでは、テキストの終端を表す音声が再生されます。 テキストの移動: テキストを移動する際、VoiceViewはカーソルの後にある文字や単語を読み上げますが、TalkBackはカーソルが通過した文字や単語を読み上げます。 VoiceViewの動作は、目の不自由なユーザーの多くが使い慣れているWindowsプラットフォームのスクリーンリーダーの動作と同じです。 画面のオブジェクトの並べ替え: TalkBackでは通常、画面のオブジェクトを、オブジェクトの左上隅の座標に基づいて、左から右に、上から下に並べ変えます。 VoiceViewでは通常、画面上のオブジェクトの中心の座標に基づいて、左から右に、上から下に並べ変えます。 関連リソース•

次の

[ユーザー補助] 設定が有効にならない場合の対処方法 · Trend Micro for Home

ユーザー 補助 サービス と は

AccessibilityService とは とは障害者や高齢者などのハンディキャップのあるユーザーでもアプリを使うことができるように補助する機能のことです。 例えば Android に標準搭載されているはお知らせ Notification やユーザーの操作を音声またはバイブレーションで フィードバックしてくれます。 視覚にハンディキャップがあるユーザーにとって優しいサービスですよね。 今回はそんな AccessibilityService を使った オリジナルのユーザー補助サービスの実装を通してユーザー補助サービスの作りかたを学びたいと思います! ユーザー補助サービスを作ってみる ユーザー補助サービスの概要についてざっくりわかったところで、早速作ってみましょう! 今回はサンプルということで 操作内容を Toast で表示する機能を作りたいと思います。 AccessibilityService を作る まずは AccessibilityService を継承した Service クラスを作ります。 abstract なメソッドなど最低限な実装をすると以下のような感じになります。 package jp. classmethod. android. sample. accessibilityservice; import android. accessibilityservice. AccessibilityService; import android. support. view. accessibility. AccessibilityEventCompat; import android. view. accessibility. AccessibilityEvent; import android. widget. 音声で知らせたいときはこのタイミングで音を鳴らしたりします。 またはユーザー操作などによってこのサービス自体の提供が中断されたときに呼び出されます。 処理が特に不要な場合は何も書かなくて良いです。 今回はどんなユーザーアクションが起きたか Toast で表示させたいと思うので AccessibilityService onAccessibilityEvent メソッドを以下のように実装してみます。 makeText getApplicationContext , typeName, Toast. 定数を参照しているところが AccessibilityEvent だったり AccessibilityEventCompat だったりしていますが AccessibilityEventCompat を使っている定数は Android 4. 0 APIレベル14 以降に追加されたイベントタイプです。 Android 4. 0 で AccessibilityService の機能が大幅に追加されて、より多くのイベントがハンドリングできるようになりました。 ですが Android 4. 0 より前のバージョンでもアクセスできるよう Support Package の AccessibilityEventCompat の定数を使っています。 これで Android 4. 0 以降でもそれ以前でも動作する実装が書けます。 AccessibilityService の詳細情報を設定する 超簡単な AccessibilityService ができたので次に詳細情報を xml で設定します。 この xml ファイルは後述する AndroidManifest で設定して読みこむようにします。 AndroidManifest を定義する 最後に、サービスを AndroidManifest. xml で定義します。 普通の Service と同じように application タグ内に service タグで定義します。 intent-filter に android. accessibilityservice. AccessibilityService のアクションを入れておくと、アプリがユーザー補助サービスとして登録されます。 また meta-data タグを作り、先ほど作成した xml ファイルを詳細情報として設定します。 permission. ご指摘いただいたむとう様、ありがとうございました! また Android 4. 1 以降は android. permission. 実行してみる すごーーーく簡単なサービスができました。 実際に使ってみましょう!まずは起動させます。 もちろん Service だけなので何も起きません。。 ということで「設定>ユーザー補助」を開きます。 すると、ユーザー補助サービスの一覧が表示されます。 その中にいま作ったアプリ名 SampleAccessibilityService があると思うので、タップします。 先ほど設定した説明が表示されています。 トグルボタンを有効にするとサービスが実行されます! ホーム画面はもちろん。 どのようなアプリでも、画面をタップしたり表示を切り替えたりといったアクションが発生すると Toast を表示してくれます!下図はホームをスクロールしたときのキャプチャです。 Toast がやたらチラチラ表示されて邪魔ですが。。 サンプルということでw ソースコード 簡単なサンプルではありますが、今回実装したソースコードを github に公開しました。 また "ユーザー補助機能" という名目ではありますが、この機能を使って面白いサービスも実現できそうですね。 ぜひアイデアを広げて面白い または便利な アプリを作ってみてください。

次の

ユーザー補助

ユーザー 補助 サービス と は

先日で開催された でという発表をしました。 のセキュリティに関する改善の歴史と、ユーザー補助サービスによるアプリ権限奪取のデモという内容でしたが、短い時間での発表だったため、ユーザー補助サービスについてあまり十分な説明ができませんでした。 この記事では、ユーザー補助サービスのより詳細な説明や 悪用以外の 活用方法、個人的に問題として考えている部分について説明しようと思います。 発表ではネガティブな面をアピールしてしまいましたが、ユーザー補助サービスを使った開発は非常に奥深く面白いので、その楽しさを少しでも伝えられればと思います。 ユーザー補助サービスとは とは、アプリとユーザーの間のやり取りをサポートするためのの機能です。 ユーザー補助サービスを利用するとアプリの切り替えや画面の更新、通知の変化を読み取って音声などの別の手段でユーザーに通知することができます。 また、逆にユーザーの操作を検出してアプリに他の種類のタッチイベントとして通知させることもできます。 どちらかの単方向ではなく、アプリとユーザーの双方向のやりとりを補助できるのが大きな特徴です。 どのように動作するのか を介してアプリ更新やユーザーの操作を検知することができます。 ユーザー補助サービスを利用するアプリでは取得できるイベントや取得できるパラメータに関して。 開発者は良心に基づき最小権限で実装することが求められますが、 AccessibilityServiceInfoの設定項目が非常に複雑な上、ユーザーのからの許可は「ユーザー補助」として一括で扱われるため正しい設定が難しくなっています。 個人的にインストール済みアプリのユーザー補助サービス権限についてはかなり注意を払っていますが、その権限が動作に必要最小限なのかどうかは正直あまり自信がありません。 権限の話はさておき、ユーザー補助サービスが有効になったアプリではを通じて様々なイベントを受け取ることができます。 Viewイベントの場合は発生源のView情報も受け取ることができますが、Viewそのものにアクセスすることはできず、あくまでユーザー補助サービスを通して可能な範囲でのデータ取得となります。 アプリ、ユーザーのイベントを受け取る 僕が特に面白いと思っているのはこの部分です。 最前面のアプリが切り替わった時にそのパッケージを取得したり、表示中画面の文字列に特定の文言が含まれているかを判定したりすることができます。 「あるアプリの情報を他のアプリから知ることができる」という部分の面白さは非常に奥深く、GoogleNowなどもこのような方法で表示中アプリの情報を得ているかもしれない、何かより面白いことができるかもしれないと思うとわくわくします。 ユーザーのタップ情報を検知して対象Viewのサイズや配置などを知ったり、アプリごとの利用時間を測ったり、簡単な実装でも色々変わったことができて非常に面白いです。 ただし、Viewの情報がわいってもを経由して取得できる項目は限られており、画像や色、スタイルといった情報は残念ながら取得できません…。 アプリにイベントを伝える ユーザー補助サービスでは、ユーザーの代わりにView操作を行うことができます。 Viewのクリックや画面のスクロール、文字列の入力など、ユーザーがアプリで操作可能なことは大体行うことができます。 先日のデモではアプリの権限を許可するための Switchに対してクリック操作を行うことでユーザー操作を介さずに自アプリに権限を与えていました。 こちらのほうは汎用的に使える機能を実装するのが難しく、正直あまり使ったことがありません。 開発中のアプリの入力画面に対してテストデータの入力を補助できるような、補助アプリのようなものを作れるかもしれません。 正直ユーザー補助サービスでやらなくても…という感じですが、別のパッケージで実装できるので本体アプリを操作する必要がないのが利点でしょうか。 利用例 例えば、ユーザー補助サービスを使うと以下のようなアプリを作ることができます。 表示中のアプリのパッケージ名やViewIdから効率的に入力補助を行うパスワード管理アプリ• 実際に1passwordなどはこのような動作になっているようです• 最前面のアプリを変更するイベントを監視し、アプリの利用時間を計測するアプリ• RescueTimeなどはおそらくこういった実装になっています• 有名サービスとはいえユーザー補助サービスを許可するのは怖いので自分で実装してみるのも良いかもしれません• 画面をタップした際、押されたViewのサイズなどを知ることができるアプリ• DroidKaigi 2017 で門田さんがアプリです• ユーザー補助サービス自体はUIを持たないため、画面を通じてユーザーにフィードバックするのが難しくなりがちですね… このように、ア次第で色々なアプリを作ることができるのが魅力です。 普通のアプリよりはるかに広範囲なものを操作できるのも楽しいですね。 問題点と今後の展望 すでに書いたとおり、もっとも大きな問題点は「ユーザー補助サービスの権限があまりに強すぎる」というところだと思います。 アプリやユーザーのイベントを受け取る、アプリの操作を行うという双方向のアクションが可能にも関わらず、設定は一箇所のみで確認も非常に簡素です。 これはユーザー補助サービス本来の目的としては正しいですが、セキュリティモデルとしては自分で開発していても心配になるレベルです。 より細かく権限設定できるようにするか、一部の頻出機能はユーザー補助サービスとは別の機能として切り出したほうが良いと感じています。 実際に Oでは文字列入力補助のためにが導入され、必要最小限のイベント通知とフィードバックのみが行えるようになります。 このような仕組みが今後も拡張されることで、今後はユーザー補助サービスだけに頼らなくても他のアプリと協調して動作するアプリが安全に作れるようになることを期待しています。 まとめ ユーザー補助サービス非常に楽しいのでぜひ遊びましょう。 限られたイベントと AccessibilityNodeInfoを通じてアプリと会話する経験をすることで、より OS の気持ちになってアプリのことを考えることができ ると思ってい ます。 また、ユーザー補助サービスの何が危険でどうすれば安全なのかを理解する上でも、実際に自分でイベントの取得やフィードバックを行ってみてできることを確かめてみることが大事だと思います。 nein37.

次の