Pasar y devolver los valores de javascript y android y utilizarlos como plugin de brecha de teléfono
Quiero crear un complemento para el teléfono que pasan y devuelve el valor entre javascript y android.
¿Puede alguien sugerir alguna idea sobre cómo hacer esto?
- La aplicación Ionic / Cordova no recibe notificación push en el fondo
- PhoneGap - Abrir aplicación externa
- Cómo utilizar los complementos phonegap en nuestro proyecto android
- ¿Cómo usar Phonegap SoftKeyboard Plugin para Android?
- Phonegap NFC no funciona
- ¿Alternativas al uso de la base de datos Web SQL para almacenar gran cantidad de datos en la aplicación Phonegap?
- Error Phonegap - "No se encontró metaetiqueta Content-Security-Policy. Agregue uno cuando utilice el complemento cordova-plugin-whitelist. "
- Cómo abrir la configuración de la ubicación de Android mediante el separador de teléfono
- Cómo llamar a la función en el marco iónico + angularjs?
- Phonegap: guarda la imagen de la url en la galería de fotos del dispositivo
- Plugin de correo electrónico de PhoneGap
- PhoneGap plugin: la forma más rápida de transferir datos JSON a nativo
- Phonegap Conexión de red - No se puede leer la propiedad 'tipo' de undefined
En realidad esto no es muy difícil. Ella voy a mostrar cómo llamar a código nativo de javascript en la página y viceversa:
Llamar código nativo desde la vista web :
Al crear la vista web añadir interfaz javascript (básicamente clase java cuyos métodos se exponen a ser llamado a través de javascript en la vista web.
JavaScriptInterface jsInterface = new JavaScriptInterface(this); webView.getSettings().setJavaScriptEnabled(true); webView.addJavascriptInterface(jsInterface, "JSInterface");
La definición de la clase de interfaz javascript en sí (esto es la clase examplary tomé de otra respuesta de la mía y abre el video en la intención nativa)
public class JavaScriptInterface { private Activity activity; public JavaScriptInterface(Activity activiy) { this.activity = activiy; } public void startVideo(String videoAddress){ Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.parse(videoAddress), "video/3gpp"); // The Mime type can actually be determined from the file activity.startActivity(intent); } }
Ahora si yo quiero llamar a este formulario de código el html de la página que proporciona el siguiente método:
<script> function playVideo(video){ window.JSInterface.startVideo(video); } </script>
Fácil ¿no?
Llamando código javascript del código nativo :
Esto también es simple suponer que en el código del htnl cargado en WebView tiene la función javascript definida:
<script> function function(){ //... do something } </script>
A continuación, llamar a esta función a través de la WebView en el código nativo de la siguiente manera:
webView.loadUrl("javascript:function()");
Aquí hay un tutorial para crear un PhoneGap Plugin. También las instrucciones para el complemento de ChildBrowser son especialmente buenas.