Calling funciones de JavaScript en una vista web desde la clase de actividad [cerrado]

Edit: Este recorte funcionó al final. Había intentado esto antes, pero en realidad estaba experimentando un problema de alcance con mi javascript. Tenía appBack () definido en document.onready. Simplemente vuelva a definir esa función en * window. * AppBack = function (). Hecho el negocio. Espero que esto ayude a alguien

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

Dentro de una aplicación webview, la navegación hacia atrás se maneja con una función JS personalizadaappBack () He estado tratando de encontrar una manera de interceptar el botón de retroceso físico de Android y llamar a esa función de JavaScript en su lugar. Aquí está mi archivo de actividad. Es muy básico, configura una vista web y escucha el clic del botón Atrás. Actualmente, cuando el usuario hace clic en este botón de retroceso físico, ejecuta mWebView.goBack (). Que es donde me gustaría realizar 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);
    } 
}

Respuestas a la pregunta(0)

Su respuesta a la pregunta