読者です 読者をやめる 読者になる 読者になる

【Android】WebViewの選択文字列を取得する

 

WebViewの選択文字列を取得する方法です。

 

@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_webview);
  wv = (WebView)findViewById(R.id.webview1);
  wv.setWebViewClient(new WebViewClient());
  wv.setWebChromeClient(new WebChromeClient());
  wv.loadUrl(Webページ表示のURL);
  wv.getSettings().setJavaScriptEnabled(true);
  wv.getSettings().setAppCacheEnabled(true);

  wv.setOnLongClickListener(this);
  wv.addJavascriptInterface(this, "android");
}

@JavascriptInterface
public void setText(final String words) {

 ~WebViewのJavaScriptから呼ばれる~
}

@Override
public boolean onLongClick(View v) {
  String script = "javascript:android.setText(document.getSelection().toString());";
  return false;
}