WebViewで画面内に表示されている部分のテキストを取得したい

659 views
Skip to first unread message

mic-n24

unread,
Oct 31, 2013, 2:48:49 AM10/31/13
to android-g...@googlegroups.com
はじめまして.最近android開発を始めました初心者です.WebViewを利用した自作のwebブラウザを作っているのですが,躓いてしまったので助言頂けないでしょうか.

WebViewで現在開いているwebページの,画面内に表示されている部分のテキストを取得したいのですが,どのような方法をとればいいか分からず困っています.
オプションメニューかボタンを押した際に,引っ張ってきてアプリ内で文字列として利用できるようにしようと考えています.

よろしくお願いします.

Shigeo Mutoh

unread,
Oct 31, 2013, 4:16:49 AM10/31/13
to android-g...@googlegroups.com
武藤です。

あえてあまり詳細には述べませんので、後はご自分で調べてみてください。
たぶん、幾多の壁にぶち当たると思いますが楽しんでください。

私が以前実装したのは以下のようなものでした。

1. WebViewがurlを読み込み終えたタイミングを知るために、WebViewClient
を実装しておきます。

2. WebViewからJS経由でJava側を呼び出すために、addJavascriptInterface
を使ってI/Fを定義しておきます。

3. WebViewがurlを読み込み終えたら、loadUrl("javascript:domを再帰的に下って
テキストの配列を取得し、addJavascriptInterfaceで定義したI/Fを通じて
Java側に返す")というようJSを実行します。
注:JSのコードをどのように書けばいいかはここで聞かないでください。

4. Java側でhtml内のテキストの配列が取れる。

他にも方法があるかも知れません。

では。

mic-n24

unread,
Nov 1, 2013, 5:31:55 AM11/1/13
to android-g...@googlegroups.com
武藤さんアドバイスありがとうございます。

なるほどjavascriptを使うんですね…調べて試してみます。

ありがとうございました。


2013年10月31日木曜日 17時16分49秒 UTC+9 TM:
Reply all
Reply to author
Forward
0 new messages