主にandroidとかのメモ

Sony SmartWatchでandroidリモートコントロール実験

3月頃に作ってたものの完成に至らなかったので、今更ですがメモ。

仕組みは単純。
自作SmartWatchアプリがSmartWatchのフリック制御を取得し、androidに操作指示を出す

操作指示がIntentなりなら簡単ですが、折角上下左右フリック取れるので、キーパッドの↑↓←→を押した事にしてみようと。
どうやればできるのか悩んでいたところ、@myb1126さんに教えていただきました。感謝。
コア部分は@esmasuiさんの下記を参考にしているようです。。

システムサービスのローカルインターフェイスを取得する
http://d.hatena.ne.jp/esmasui/20091104/1257350421
それをSmartWatchアプリにガッチャンコして完成!

まずブラウザ起動してSmartWatchでフリック操作…したものAndroid本体反応せず。
LogにはSecurityExceptionが。やっぱりダメなのね。

W/System.err(8253): Caused by: java.lang.SecurityException: Injecting to another application requires INJECT_EVENTS permission

アプリにINJECT_EVENTSのパーミッションを付与してもダメ。(付与すれば動くような権限ではない)
他人のアプリは操作できないので、同一アプリ内にWebブラウザ(もどき)を作る方向に変更。

Activity作ってWebVieww貼り付けただけ。その結果がこちら。

汎用性があれば公開したかったのですが、全く無くなってしまったのでお蔵入り。\(^o^)/
ライブラリとかでコレ入れればSmartWatchでフリック操作取れますよーみたいに配布すれば、まだ価値はあるのかもしれませんが。

本当はPDFビュアーとか、ブラウザのSlideShareとかを操作したかったのですよ。
AndroidからHDMIで画面やプロジェクタに出しながらの、プレゼン操作用として。
WebViewじゃこのあたり難しいようなので諦めです(´・ω・`)