目的:Android搭載端末のリモートコントロール - インストールされているアプリに物理的なキーストロークを模倣していますか?
Android搭載端末のリモートコントロール。 Androidの携帯電話やタブレットで、タッチスクリーンや小さなスライドアウトキーボードを使用できない身体障害者のための代替入力デバイスを作成しようとしています。私は、Androidデバイス全体を制御できる必要があります - KEYCODE_DPAD_DOWNのようなキーストロークを送信するなどです。ジョイスティックや他の入力デバイスが使用され、理想的にはコマンドがBluetooth経由でデバイスに送信されることが理想的です。私は今の私のはここ
です:
私は、アクティブデバイス(助けてくれてありがとう、ローマR.を!)を制御するMonkeyrunnerを介してこれらのキーストロークを送信することができます。問題は、コンピュータをデバイスに接続し、それをプログラムするように構成する必要があることです。私はシステムから完全にコンピュータを排除し、個人がAndroidデバイスを完全に(リモートで)制御できるようにしたいと思います。おそらく、バックグラウンドで実行されるアプリまたはサービスを通じて、Bluetooth交換を処理し、対応するキーイベントを生成します。これまで
私の研究:
したKeyEventsを送信することが可能であるが、これは唯一、独自のアプリとの対話を許可するように思われる - たとえば、のEditTextボックスにテキストを入力します。 (link)
物理的なキーイベントをデバイスにトラップし、そのイベントに応答して何らかのアクションを実行することもできます。
最後に、私は何をしようとしているのかGoogleが正確に知っているように見えますが、セキュリティ上の理由からそれを許可していません。 (link - ページの一番下に誰かがthisのブログにリンクしていますが、これは許可されていません)
このようなものを実装することについてのセキュリティ上の懸念があるかもしれないが、ユーザーにAndroidシステムの完全な(リモート)コントロールを与えることです。明らかに、ユーザーがこのコントロールを承認するよう明示的に要求する必要があります。この種の制御はすでに利用可能で、Device Administrationと呼ばれています。これにより、アプリはシステムの非常に密接な部分を制御することができ、正しく行うためには明示的な承認が必要です。このリモコンシステムも変わりません。
私の場合、それは身体的に障害のある妹を助けるために使われます。飛行制御システムやその他のゲームパッドライクなコントローラを作成するために使用することができます。この種のインターフェースを実装する理由はたくさんあります。
最後に、Googleは常にAndroidを更新していますが、上記のブログエントリは2年以上経過していないと述べています。それ以来多くのことが変わってきました...
どのようにすればいいですか?まだできない場合は、新しい機能をAndroidシステムに追加するという正式なリクエストをどのようにして後でリリースすることができるのかを知っていますか?
ありがとうございます!
うわー - これはまさに私が探していたものです。ヒントをありがとう! – Glenn