Interaction Page Web vers Android
(classe addJavascriptInterface) |
Remontée d'un nombre aléatoire de la page web vers Android et affichage dans une boite de dialogue. |  |
La classe WebView dispose d'une méthode nommée addJavascriptInterface qui permet d'inscrire un objet comme interface Javascript.
Etapes pour la mise en oeuvre :
- Coté page Web
- Déclarer au niveau de la page web l'action qui va déclencher l'envoi d'informations. Cette action sera déclenchée lors de l'appui sur la touche de test et consiste en l'envoi d'un nombre aléatoire à 10 chiffres : onclick="Android.Info(nb_aleatoire(10))"
- Coté Android
- Autoriser l'ouverture d'une classe interface de dialogue entre la page web (via javascript) et android à déclarer dans onCreate : webView.addJavascriptInterface(new WebAppInterface(this), "Android");. Notez dans cette déclaration le terme "Android" qui doit être le même que celui défini dans l'action de la page web définie ci-dessus (Android.Info), mais ce nom peut être quelconque pourvu que ce soit le même dans les deux cas de déclarations.
- Déclarer la classe public class WebAppInterface {}
- Dans la classe déclarer la procédure : public void Info(String infos) {}. Le nom de cette procédure (info ici) doit être le même que dans l'action de la page web : Android.Info