查看全部(处理程序)位于活动中。最重要的是SurfaceView(TYPE_SYSTEM_OVERLAY)服务。在SurfaceView上看到它们是不可能实现的。我做错了什么?
MainActivity.class
...
public class MainActivity extends Activity{
…
exitButton = (ImageButton) findViewById(R.id.exitButton);
…
exitButton.setOnLongClickListener(exitButtonOnLongClickListener);
...
Button.OnLongClickListener exitButtonOnLongClickListener
= new Button.OnLongClickListener(){
@Override
public boolean onLongClick(View v) {
...
WorkerService.class
...
public class WorkerService extends Service
…
@Override
public void onCreate() {
...
windowManager = (WindowManager) this
.getSystemService(Context.WINDOW_SERVICE);
surfaceView = new SurfaceView(this);
LayoutParams layoutParams = new WindowManager.LayoutParams(
// WindowManager.LayoutParams.WRAP_CONTENT,
// WindowManager.LayoutParams.WRAP_CONTENT,
1, 1, WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
PixelFormat.TRANSLUCENT);
layoutParams.gravity = Gravity.CENTER_HORIZONTAL | Gravity.TOP;
windowManager.addView(surfaceView, layoutParams);
…
只有可见的SurfaceView,然后是按钮。为什么呢?