Je suis en train de faire une version Android d'une application iOS relativement simple qui utilise un webview, quelques boutons et qui repose ensuite sur des appels JavaScript à un CMS.
Mais je suis bloqué à un stade très précoce du développement : Le webview ne fonctionne pas avec JavaScript. J'ai lu de nombreux articles sur la façon d'activer JS dans un webview Android, mais jusqu'à présent, sans succès.
Voici une partie de mon code :
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebChromeClient(new WebChromeClient());
mWebView.setWebViewClient(new HelloWebViewClient()
{
@Override
public void onPageFinished(WebView view, String url)
{
//Appel d'une méthode init qui indique au site web que nous sommes prêts
mWebView.loadUrl("javascript:m2Init()");
page1(mWebView);
}
});
mWebView.loadUrl("http://my_url/mobile/iphone//app.php");
}
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
mWebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
public void page11(View view)
{
mWebView.loadUrl("javascript:m2LoadPage(1)");
}
Qu'est-ce que je fais de mal ici ? L'URL fonctionne parfaitement dans mon application iOS et dans un navigateur. Mais pas dans mon application !
S'il vous plaît, dites-moi que c'est quelque chose d'évident...