システムオーバーレイウィンドウの作成(常に上)
常にすべてのウィンドウの上に表示される、常に操作可能なボタン/クリック可能な画像を作成しようとしています。 概念実証は ここ- スマートタスクバー(AppBrain) そしてここV1.4.0サイドバースタイルSWKey-ボタン救世主(xda-developers) 私は成功しており、現在サービスを実行しています。サービスは常に画面の左上隅にテキストを表示しますが、ユーザーは通常の方法で残りのアプリを自由に操作できます。 私がやっていることはサブクラスでViewGroupあり、それをフラグ付きでルートウィンドウマネージャーに追加しますTYPE_SYSTEM_OVERLAY。次に、このテキストの代わりにボタン/クリック可能な画像を追加して、それ自体でタッチイベントを受け取ることができるようにします。「onTouchEvent」を全体的にオーバーライドしようとしましたViewGroupが、イベントを受け取りません。 always-on-topビューグループの特定の部分でのみイベントを受信するにはどうすればよいですか?親切に提案します。 public class HUD extends Service { HUDView mView; @Override public IBinder onBind(Intent intent) { return null; } @Override public void onCreate() { super.onCreate(); Toast.makeText(getBaseContext(),"onCreate", Toast.LENGTH_LONG).show(); mView = new HUDView(this); WindowManager.LayoutParams params = new WindowManager.LayoutParams( WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, 0, // WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE // | …