キーボード表示/非表示時のインテントを投げるアプリをいくつか作っています。
オーバーレイアプリにつきものの「誤爆」を、せめてキーボード表示中だけでも避けるためにと思って作っています。
具体的に何をしているかというと、キーボードの表示・非表示を判断して、表示した際に「open.android.intent.action.DISP_KEYBOARD」インテントを、消えた際に「open.android.intent.action.HIDE_KEYBOARD」インテントを投げます。
キーボードのイベントはキーボードしか取得できないので、アプリの方は疑似的に(テキストボックスにフォーカスが来たら・・的な)判断しています。
[キーボードアプリ]野良のみ
Mozc for Android インテントあり版
http://toramamma.blogspot.jp/p/mozc-for-androidsvg.html
[アクセシビリティアプリ]
キーボードON/OFFモニタ
https://play.google.com/store/apps/details?id=tora.mamma.edittextmonitor&hl=ja
どっちも同じことをやろうとしていますが、疑似的に判断しているON/OFFモニタの方は100%ではありません。
キーボードの方はインストールしているだけではダメで、利用している場合にインテントが投げられます。
アクセシビリティの方は、端末設定画面のアクセシビリティサービスから本サービスを有効にしてください。
普通にインテントぶん投げているので、以下の設定をすれば受信できます。
Manifest.xml
<receiver android:name="Receiver">
<intent-filter>
<action android:name="open.android.intent.action.DISP_KEYBOARD" />
<action android:name="open.android.intent.action.HIDE_KEYBOARD" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
0 件のコメント:
コメントを投稿