我正在推荐this帖子,用于在服务中添加webview . 但是,我不断收到windowManager正在添加的错误,但它已经有了父级 .

码:

WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
    WindowManager.LayoutParams params = new WindowManager.LayoutParams(WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE, PixelFormat.TRANSLUCENT);
    params.gravity = Gravity.TOP | Gravity.START;
    params.x = 0;
    params.y = 0;
    params.width = 0;
    params.height = 0;

    LinearLayout view = new LinearLayout(this);
    view.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT));

    webView = new WebView(this);
    webView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));

    view.addView(webView);
    webView.loadUrl("http://google.com");
    windowManager.addView(webView, params);

日志:进程:com.demo.webviewscriptapplication,PID:32282 java.lang.RuntimeException:无法创建服务com.demo.webviewscriptapplication.MyService:java.lang.RuntimeException:view android.webkit.WebView {9e874fa VFEDHVC .. .. ....一世 . 0,0-0,0}正在添加,但它已经在android.app.ActivityThread.handleCreateService(ActivityThread.java:3201)的android.app.ActivityThread.-wrap5(ActivityThread.java)的android.app .ActivityThread $ H.handleMessage(ActivityThread.java:1567)在android.app.Loper.loop(Looper.java:154)的android.app.Handler.dispatchMessage(Handler.java:102)android.app.ActivityThread . main(ActivityThread.java:6126)位于com.android.internal的com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:886)的java.lang.reflect.Method.invoke(Native Method)中 . os.ZygoteInit.main(ZygoteInit.java:776)引起:java.lang.RuntimeException:view android.webkit.WebView {9e874fa VFEDHVC .. ......我 . 0,0-0,0}正在添加,但它已经在android.view.ViewRootImpl.setView(ViewRootImpl.java:731)的android.view.View.View.Pn上有一个父 . 在Android.app.ActivityThread的com.demo.webviewscriptapplication.MyService.onCreate(MyService.java:67)的android.view.WindowManagerImpl.addView(WindowManagerImpl.java:94)中查看.WindowManagerGlobal.addView(WindowManagerGlobal.java:342) .handleCreateService(ActivityThread.java:3191)在Android.app.Handler.dispatchMessage上的android.app.ActivityThread.-wrap5(ActivityThread.java)android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1567) .java:102)在android.app.Looper.loop(Looper.java:154)的android.app.ActivityThread.main(ActivityThread.java:6126)at java.lang.reflect.Method.invoke(Native Method)at at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:886)com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)