其實這是一個沒啥用的技巧(至少我還想不出應用), 就是加上一個像是浮水印的東西在畫面上, 不管在哪都會出現的, 像是這樣:
因為這個image要讓他一直不會消失, 所以他並不會是一個Activity, 因為Activity會有他的生命週期, 離開後就沒了, 所以要透過WindowManager去加上這個ImageView, 而且加上View的動作必須要給Background service去處理(這樣也就可以去做一些變化, 或動畫之類的)
首先, 要建立一個Service, 要達成這目的也很簡單, 在onCreate加上:
WindowManager wm = (WindowManager) this
.getSystemService(Service.WINDOW_SERVICE);
ImageView logo = new ImageView(this);
logo.setImageResource(R.drawable.onepieceoverlay);
WindowManager.LayoutParams lparam = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, 0, PixelFormat.TRANSLUCENT);
lparam.gravity = Gravity.RIGHT | Gravity.TOP;
wm.addView(logo, lparam);
這樣就好了, 其實很簡單, 就是透過WindowManager在system overlay上加個view
但這樣還不會work, 因為少了一個permission, 所以必須在AndroidManifest裡面加上
<uses-permission android:name=“android.permission.SYSTEM_ALERT_WINDOW”></uses-permission>
這樣就好了
不過system overlay沒辦法接touch event, 所以這邊放的view真的只是拿來放好看的