سلام دوستان

همانطور که میدانید متد evaluateJavascript در API های 19 و بالاتر وجود دارد.

حالا بدین منظور من برای اندروید های پایینتر اومدم چنین نوشتم :


   webview1.getSettings().setJavaScriptEnabled(true); 
webview1.getSettings().setDomStorageEnabled(true);

webview1.addJavascriptInterface(new JsClass(this),"HtmlViewer");

webview1.setWebViewClient(new WebViewClient(){

@Override
public void onPageFinished(WebView view, String url) {

if(Build.VERSION.SDK_INT >=19){

}
else
{


webview1.loadUrl("javascript:window.HtmlViewer.get (document.getElementsByTagName('html')[0].innerHTML);");

}
}

@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
handler.proceed();
}

});

webview1.loadUrl("");



و کلاس زیر رو هم براش تعریف کردم

اما متاسفانه انگار دستوراتم به درستی اجرا نمیشوند !

class JsClass{        Context context;

JsClass(Context c){
this.context=c;

}

public void get(String html){

String result= Html.fromHtml(html).toString();

final String[] s = result.split(",");

if(s[0].equals("null")){

Toast.makeText(context,"مقادیر ارسالی خالی می باشد!", Toast.LENGTH_SHORT).show();
finish();

}

}
}


ناگفته نماند با API های بالاتر از 19 مشکلی ندارم