J'essaie d'appeler certaines javascriptfonctions assis sur une htmlpage en cours d'exécution dans un android webview. Assez simple ce que le code essaie de faire ci-dessous - à partir de l'application Android, appelez une javascriptfonction avec un message de test, qui appelle à son tour une fonction java dans l'application Android qui affiche le message de test via toast.
La javascriptfonction ressemble à:
function testEcho(message){
     window.JSInterface.doEchoTest(message);
}
Depuis WebView, j'ai essayé d'appeler les javascriptméthodes suivantes sans succès:
myWebView.loadUrl("javascript:testEcho(Hello World!)");
mWebView.loadUrl("javascript:(function () { " + "testEcho(Hello World!);" + "})()");
J'ai activé javascriptleWebView
myWebView.getSettings().setJavaScriptEnabled(true);
// register class containing methods to be exposed to JavaScript
myWebView.addJavascriptInterface(myJSInterface, "JSInterface"); 
Et voici la Javaclasse
public class JSInterface{
private WebView mAppView;
public JSInterface  (WebView appView) {
        this.mAppView = appView;
    }
    public void doEchoTest(String echo){
        Toast toast = Toast.makeText(mAppView.getContext(), echo, Toast.LENGTH_SHORT);
        toast.show();
    }
}
J'ai passé beaucoup de temps à faire des recherches pour voir ce que je fais mal. Tous les exemples que j'ai trouvés utilisent cette approche. Quelqu'un voit-il quelque chose de mal ici?
Edit:   Il existe plusieurs autres javascriptfichiers externes référencés et utilisés dans le html, pourraient-ils être le problème?
@JavascriptInterfacedécorateur sur les méthodes Java que vous souhaitez mettre à la disposition de WebView via l'interface JavaScript.
                myWebView.loadUrl("javascript:testEcho('Hello World!')");je comprends que vous avez déjà joint le fichier html à cette vue Web. Pourriez-vous me dire comment vous avez fait ça?