Frage in die Runde, vor allem an die Android Programmierer in der Runde:
Wie bekomm ich einen xmlhttprequest von ner file:/// url aus nem webview auf ne webseite hin?
Hintergrund ist natürlich eine App die ich gerne bauen möchte, und da vor allem das Styling als auch das dynamische Contenthandling mit einer HTML5 Oberfläche wesentlich leichter fällt als mit nativem Androidcode möchte ich hier gerne auf einen WebView setzen der eine lokale html Seite aus dem assets Ordner lädt...
Jetzt habe ich aber das Problem, dass ich diesen natürlich gerne mit Content füllen möchte und der wird von einer JSON API geliefert...
Also hab ich natürlich mein Glück probiert und versucht das über einen XMLHTTPREQUEST GET "http://www.google.de/" im Javascript zu realisieren aber das wird einfach nicht ausgeführt, eine lokale URL geht natürlich... sieht also ganz nach einem Securityproblem aus...
Gibts da irgendeine Möglichkeit das zum Umgehen oder eine TLD zu whitelisten?
hier mal mein bisschen Java Code aus der onCreate Funktion
Wie bekomm ich einen xmlhttprequest von ner file:/// url aus nem webview auf ne webseite hin?
Hintergrund ist natürlich eine App die ich gerne bauen möchte, und da vor allem das Styling als auch das dynamische Contenthandling mit einer HTML5 Oberfläche wesentlich leichter fällt als mit nativem Androidcode möchte ich hier gerne auf einen WebView setzen der eine lokale html Seite aus dem assets Ordner lädt...
Jetzt habe ich aber das Problem, dass ich diesen natürlich gerne mit Content füllen möchte und der wird von einer JSON API geliefert...
Also hab ich natürlich mein Glück probiert und versucht das über einen XMLHTTPREQUEST GET "http://www.google.de/" im Javascript zu realisieren aber das wird einfach nicht ausgeführt, eine lokale URL geht natürlich... sieht also ganz nach einem Securityproblem aus...
Gibts da irgendeine Möglichkeit das zum Umgehen oder eine TLD zu whitelisten?
hier mal mein bisschen Java Code aus der onCreate Funktion
Code:
WebView view = new WebView(this);
view.getSettings().setJavaScriptEnabled(true);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN)
view.getSettings().setAllowUniversalAccessFromFileURLs(true);
view.getSettings().setPluginState(WebSettings.PluginState.ON);
view.addJavascriptInterface(new JavascriptInterface(this), "Android");
view.setWebChromeClient(new WebChromeClient());
view.loadUrl("file:///android_asset/login.html");
setContentView(view)