0

如何longclick在. WebView_ Service我在加载 url 并且长按选择文本时添加WebView了一个。WindowManager所选文本不可见,无法选择。

我该如何解决?

public class BtService extends Service {
@Override
public IBinder onBind(Intent intent) {
    return null;
}
public static final int WINDOW_EXPAND_FLAGS = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
        | WindowManager.LayoutParams.FLAG_DIM_BEHIND
        | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
        | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH;
@Override
public void onCreate() {
    super.onCreate();
    WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
    WindowManager.LayoutParams params = new WindowManager.LayoutParams(WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT,
            WindowManager.LayoutParams.TYPE_SYSTEM_ALERT, WINDOW_EXPAND_FLAGS, PixelFormat.TRANSLUCENT);
    params.gravity = Gravity.TOP | Gravity.LEFT;
    params.x = 0;
    params.y = 0;
    params.width = WindowManager.LayoutParams.MATCH_PARENT;
    params.height = WindowManager.LayoutParams.MATCH_PARENT;

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

    WebView wv = new WebView(this);
    wv.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));
    view.addView(wv);
    wv.loadUrl("https://tinhte.vn");

    windowManager.addView(view, params);
}}

这也需要 android.permission.SYSTEM_ALERT_WINDOW 权限。加载 webview 时,长按文本以选择文本,-> 操作模式不显示

4

0 回答 0