WebView.getHitTestResult

WebView.getHitTestResultを使うことによって、WebViewでクリック(タッチ)またはロングクリック(長押し)されたオブジェクトが何なのかを識別できる。

WebView  |  Android Developers

MainActivityのonCreateで、

implementsにOnLongClickListenerを追加。
webView.setOnLongClickListenerにthisをセット。

onLongClick時に、wv.getHitTestResultでWebView.HitTestResultオブジェクトhrを取得。
hr.getType()で取得したタイプがWebView.HitTestResult.IMAGE_TYPEなら、"IMAGE_TYPE"とToast表示。
そうでない場合、"Not IMAGE_TYPE"と表示。

画像を長押しすると、

f:id:BG1:20180517130110p:plain

IMAGE_TYPEと出る。
ただし、画像が表示されていても、imgタグなどでない場合などはIMAGE_TYPEでない場合もある。
(この辺は表面上だけではわからない。)

Sample/android/WebView/getHitTestResult/src/WebView at master · bg1bgst333/Sample · GitHub