透過 Activity では「のぞき見防止フィルター」のようなアプリは実現する
ことはできません。
先日紹介させて頂いた「 Android アプリ UI デザイン&プログラミング」
でも簡単に触れていますが Service から描画することで UI イベントを処
理しないイメージ表示を実現することができます。
WindowManage オブジェクトを取得し、表示するオブジェクト(例えば
ImageView など)を LayoutParam を設定して追加します。
下記のような感じです。
WindowManager windowManager =
(WindowManager)getSystemService(Context.WINDOW_SERVICE);
windowManager.addView(<表示するオブジェクト>, new
WindowManager.LayoutParams(<表示するオブジェクトの幅>, <表示する
オブジェクトの高さ>,
WindowManager.LayoutParams.TYPE_TOAST,
WindowManager.LayoutParams.FLAG_SCALED |
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |
WindowManager.LayoutParams.FLAG_IGNORE_CHEEK_PRESSES,
PixelFormat.RGBA_8888));
注意すべき点は WindowManager に追加したイメージを取り除く場合です。
表示するオブジェクトを保持しておくことで removeView により削除するこ
とができますが、何らかの理由で Service が後処理なしに終了した場合に
どのようにすれば取り除けるのかまでは確認していません。(分かったら教
えてくださいね)
よろしくお願いします。
> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。