キーボード表示・非表示時のインテント


キーボード表示/非表示時のインテントを投げるアプリをいくつか作っています。

オーバーレイアプリにつきものの「誤爆」を、せめてキーボード表示中だけでも避けるためにと思って作っています。
具体的に何をしているかというと、キーボードの表示・非表示を判断して、表示した際に「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 件のコメント:

コメントを投稿