Вариантов масса. Один из них - использовать события.
Определяешь интерфейс:
interface IMyListener {
public void showHtml(String html);
}
public IMyListener myListener;
Затем в onCreate определяешь его:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myListener = new IMyListener() {
@Override
public void showHtml(String html) {
Log.d(TAG, "showHtml: " + html);
}
};
final WebView simpleWebView=(WebView) findViewById(R.id.webview);
simpleWebView.getSettings().setJavaScriptEnabled(true);
....
}
И далее, в MyJavaScriptInterface в методе showHTML передаёшь html в виде параметра:
class MyJavaScriptInterface {
public String htmlString = "";
@JavascriptInterface
public void showHTML(String html) {
htmlString = html;
Pattern p = Pattern.compile("data-sitekey=(.*?)\"><");
Matcher m = p.matcher(htmlString);
while (m.find()) {
myListener.showHtml(m.group(1));// <=================== вот здесь!
Log.d(TAG, m.group(0));
Log.d(TAG, m.group(1));
}
}
}