1

そこで、サービスからのタッチ イベントの受信に関する質問を以前に投稿しました (明らかに誰も答えを知りません)。

何時間も自分で解決しようとした後、あきらめて、RubberBigPepper という開発者にメールすることにしました。アプリのボリュームコントロールでどのようにそれを行ったのかを彼に尋ねたところ、彼はすぐに「TYPE_SYSTEM_ALERT window」と答えました。

これは何を意味し、どのようにコードに実装できますか?

編集:

次の方法を使用しました。

getWindow().addFlags(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);

ウィンドウはタッチイベントの受信に失敗しました。

私もこれについて彼に電子メールを送ったところ、彼は「WindowServiceを使用してウィンドウを追加してください」と言います

4

1 に答える 1

1

このようなコードを使用します。

int nFlags=WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL|WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;       
             m_cWM=(WindowManager)getSystemService(Context.WINDOW_SERVICE);
             WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
                WindowManager.LayoutParams.WRAP_CONTENT,WindowManager.LayoutParams.WRAP_CONTENT,
                WindowManager.LayoutParams.TYPE_SYSTEM_ERROR,
                nFlags,
                PixelFormat.TRANSLUCENT);
m_cWM.addView(YourViewClass, lp);

そして、uses-permissions を忘れないでください

于 2012-07-04T06:13:08.570 に答える