Appeler des fonctions javascript dans une vue web de la classe d'activité

Edit: Ce coupé a fonctionné à la fin. J'avais essayé ceci avant, mais j'éprouvais un problème de portée avec mon javascript. J'ai appBack () défini dans document.ready. Simplement re-scoping cette fonction sur * window. * AppBack = function (). Fait l'entreprise. J'espère que ça aide quelqu'un.

public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { WebView.loadUrl("javascript:appBack()"); return true; } return super.onKeyDown(keyCode, event); } 

Dans une application de visualisation web, la navigation arrière est gérée avec une application JS personnalisée appBack () J'ai essayé de trouver un moyen d'intercepter le bouton arrière de l'Android et d'appeler cette fonction javascript. Voici mon fichier d'activité. C'est très basique, configure une vision du Web et écoute le clic du bouton arrière. Actuellement, lorsque l'utilisateur clique sur ce bouton arrière physique, il exécute mWebView.goBack (). C'est à ce moment-là que j'aimerais effectuer le javascript: appBack ()

 package com.stgeorgeplc.app; import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.webkit.WebView; public class StGeorgePLCliteActivity extends Activity { /** Called when the activity is first created. */ WebView mWebView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mWebView = (WebView) findViewById(R.id.webview); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setBuiltInZoomControls(true); mWebView.loadUrl("file:///android_asset/www/index.html"); } public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { mWebView.goBack(); return true; } return super.onKeyDown(keyCode, event); } }