Kricek Posté(e) 18 juillet 2011 Share Posté(e) 18 juillet 2011 Salut tout le monde! Je bosse actuellement sur un projet mêlant du Flash (inclus dans une WebView) et du natif Android. De l'hybride en quelques sortes... :) J'ai fait quelques recherches et j'ai trouvé comment capter l'action d'un bouton de la WebView (grâce à une JavascriptInterface) et j'arrive à déclencher l'affichage d'un Toast lors de l'appui sur un bouton contenu dans ma page web ( B) ) et je suis fier car j'ai bien galéré! Mais maintenant, je recherche l'inverse: Capter dans la WebView l'action d'un bouton natif Android lancer, par exemple, l'ouverture d'une Alerte lors de l'appui sur un bouton extérieur à la WebView. Quelqu'un aurait une idée? Edit : J'ai trouvé tout seul finalement. Pour ceux que ça intéresse, voici comment j'ai procédé: Apparemment, il n'est pas possible de modifier la WebView depuis un thread non UI (normal). Il est donc nécessaire d'implémenter un Handler dans le onCreate(): final Handler handler = new Handler() { public void handleMessage(Message msg) { WebV.loadUrl("javascript:BoutonAndroidClick();"); } }; Ensuite, il faut définir le onClick du bouton, qui va déclencher l'envoi d'un message au Handler: bouton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { handler.sendMessage(handler.obtainMessage()); } }); Et enfin, dans le javascript, ajouter la fonction qui effectuera l'action désirée dans la page HTML: function BoutonAndroidClick() { document.write(\"Hello World!\"); }; Petite note: Pas la peine de chercher à faire des tests avec une simple "alerte" Javascript... L'implémentation d'une alerte Javascript est un peu plus compliquée que ça. Pour ceux que ça intéresse, allez voir cette page. Il semblerait que les alertes soient obligées d'être codées en Android... Affaire à suivre. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.