После долгих проб и ошибок я пришел к разумному решению.
Просто разместите его здесь для полноты, на случай, если кто-нибудь столкнется с подобной проблемой.
Решением было создание альтернативного меню, которое я реализовал, используя PopupWindow
.
И я позвонил по длинному нажатию, используя GestureDetector
.
myWebView.setWebChromeClient(new MyWebChromeClient());
mGestureDetector = new GestureDetector(getActivity(), new CustomGestureListener());
mGestureDetector = new GestureListener(getActivity(),myWebView);
final GestureDetector gd = new GestureDetector(getActivity(), mGestureDetector);
//====== web-view popup menu
myWebView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
gd.onTouchEvent(motionEvent);
return false;
}
});
Слушатель жестов довольно прост, код можно найти здесь
Остальное взаимодействие с данными веб-просмотра осуществляется с помощью JavaScript, с использованием приведенного ниже кода, подробнее об этом можно прочитать в руководстве по google dev
WebView xview = (WebView)view;
xview.loadUrl("javascript:alert(showAndroidToast('underline'))");
Что ж, это хорошо для меня, результат можно увидеть на рисунке ниже, надеюсь, он кому-нибудь поможет.
Или, если у кого-то нет лучшего решения / кода.