У меня есть одно приложение, которое отлично работает в WebBrowser.Это приложение делает только HTML, CSS и JS (Jquery), и весь контент загружается Ajax:
$.ajax({
url : "url",
dataType : "json",
success : function(data) {
// ...
}
});
Я передал это приложение в Webview в Android Project (Java), но запрос Ajax и внешняя ссылка css не работает!
MainActivity.java
WebView view = (WebView) findViewById(R.id.myWeb);
view.getSettings().setJavaScriptEnabled(true);
view.getSettings().setDomStorageEnabled(true);
view.loadUrl("file:///android_asset/index.html");
Я пытался перехватить, но тоже не работает:
view.setWebViewClient( new MyWebViewClient() );
/* ... */
public class MyWebViewCliente extends WebViewClient {
@Override
public WebResourceResponse shouldInterceptRequest(WebView webview, WebResourceRequest webrequest)
{
Log.d("test", "shouldInterceptRequest");
return this.handleRequest( webrequest.getUrl().toString() );
}
private WebResourceResponse handleRequest(String urlString) {
try {
URL url = new URL(urlString);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestProperty("User-Agent", "");
connection.setRequestMethod("GET");
connection.setDoInput(true);
connection.connect();
InputStream inputStream = connection.getInputStream();
return new WebResourceResponse("text/json", "utf-8", inputStream);
} catch (MalformedURLException e) {
e.printStackTrace();
return null;
}
catch (ProtocolException e) {
e.printStackTrace();
return null;
}catch (IOException e) {
e.printStackTrace();
return null;
}
}
Как мне решить эту проблему?
РЕДАКТИРОВАТЬ
Ошибка при выполнении с SetWebViewClient ()
W/System.err: java.lang.ClassCastException: sun.net.www.protocol.file.FileURLConnection не может быть приведен к java.net.HttpURLConnection W / System.err: в br.com.interativa.MyWebViewCliente.handleRequest (MyWebViewCliente.Java: 27) на br.com.interativa.MyWebViewCliente.shouldInterceptRequest (MyWebViewCliente.java:21)