服务中的Android SurfaceView,在Activity中不可见

时间:2016-03-25 10:36:38

标签: android service surfaceview

查看全部(处理程序)位于活动中。最重要的是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,然后是按钮。为什么呢?

0 个答案:

没有答案