вопрос:
Как прочитать текст страницы загруженной в WebView?
на Activity нет никаких элементов управления, кроме WebView. я свободно прыгаю по сайту/сайтам, которые открываются не в стандартном браузере, а в том же WebView (при этом работают скрипты со страниц, например проводится многостраничная регистрация на сайте). мне бы хотелось знать, что отображается на страницах, чтобы отловить какое-то кодовое слово, признак, по которому я решу, что сеанс завершен и закрою Activity, сохранив, полученные данные в глобальных переменных.
как я могу реализовать контроль, в каком методе разместить, какие функции использовать чтобы узнать содержимое загруженной страницы?
сам победить пока не смог, инглишсцуковерибед. есть подозрение, что нужно использовать методы WebViewClient.
package ru.jru.sru;
import android.app.Activity;
import android.content.res.Configuration;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class RegActivity extends Activity {
private class wvClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
public WebView wvReg;
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.regform);
wvReg = (WebView)findViewById(R.id.wvReg);
wvReg.setWebViewClient(new wvClient());
wvReg.getSettings().setJavaScriptEnabled(true);
wvReg.loadUrl("http://www.mysite.ru/registration.php?request=newuser");
}
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if ((keyCode == KeyEvent.KEYCODE_BACK) && wvReg.canGoBack())
{
wvReg.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
хотелось бы использовать именно WebView, а не всяческие post-запросы, так как нужно оставить возможность развития и изменения серверной части (регистрационные данные и внешний вид страниц будет со временем меняться).