Я выполнил инструкцию по запуску JavascriptInterface из веб-просмотра, но в моем случае он не запускается.
У меня есть класс QuickTextViewer со следующим:
public class QuickTextViewer {
private WebView webView;
...
...
public QuickTextViewer(){
webView = dialog.findViewById(R.id.mywebview);
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
view.loadUrl("javascript:MyApp.resize(document.body.getBoundingClientRect().height)");
super.onPageFinished(view, url);
}
}
@JavascriptInterface
public void resize(final float height) {
System.out.print(height);
}
Я также добавил следующее в proguard-rules.pro (на самом деле общедоступный только для тестирования)
-keepclassmembers class fqcn.of.javascript.interface.for.webview {
public *;
}
В моем случае onPageFinished срабатывает, а resize() нет! Любые предложения/помощь?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Нашел проблему сейчас. Осталось добавить:
webView.getSettings().setJavaScriptEnabled(true);
нашел проблему: пришлось добавить webView.getSettings().setJavaScriptEnabled(true);