在 Ionic Capacitor 应用程序中,如何在 android 中禁用长按 WebView 文本选择

In Ionic Capacitor app, How to disable long click on WebView text selection in android

我有一个使用 Svelte + 电容器制作的混合应用程序。在应用程序中,我们正在加载电子书,并在文本选择上显示自定义 context/tooltip 菜单。它在 Web 和桌面应用程序上运行良好,但在 Android 上运行不佳。 Android 显示 android 默认菜单(复制/粘贴等)。我们需要禁用默认 android 文本选择菜单。

尝试了以下代码

 mWebView.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {
            return true;
            }
        });
        mWebView.setLongClickable(false);

为了隐藏默认的文本选择菜单,我们需要覆盖 android 动作模式的默认行为。

在MainActivity中添加这2个方法,可以隐藏Android中的默认文本选择菜单。

@Override
public void onActionModeStarted(ActionMode mode) {
    if (mActionMode == null) {
        mActionMode = mode;
        Menu menu = mode.getMenu();
        menu.clear();


    }
    super.onActionModeStarted(mode);
}



@Override
public void onActionModeFinished(ActionMode mode) {
    mActionMode = null;
    super.onActionModeFinished(mode);
}