Cómo llamar a la función en el marco iónico + angularjs?

Estoy usando el marco iónico para hacer la aplicación de Android. Estoy teniendo la versión 5.1 de Córdova . Primero creo un proyecto usando la línea de comando iónico iniciar las pestañas de myApp .Año agrego la plataforma android. Ahora necesito comunicar el código java al código javascript. Utilizando google I Encontrado necesito hacer plugin de encargo. Pero no encontré ninguna solución en google cómo crearemos el plugin de encargo. Encontré el ng-cordova que da el propio plugin que no podemos hacer el complemento del modificar para requisitos particulares.

Sólo necesito un botón en la interfaz de usuario. En un clic de ese botón necesito llamar a la función java tener imprimir algún registro en la consola. A continuación, devolver el éxito o devolución de llamada de error en el archivo JavaScript

¿Podría por favor decirme cómo vamos a crear un plugin simple en iónico?

Sí, custom cordova plugins son dolorosos porque los documentos oficiales no son tan grandes.

En primer lugar necesitamos entender una estructura de carpetas de plugins personalizados .

Introduzca aquí la descripción de la imagen

  1. Wrapper – Nombre que quieres dar a tu complemento
  2. Src – carpeta donde se encuentra el código fuente
  3. Android – ya que está buscando android, una carpeta de Android es necesario
  4. Www – contiene las funciones javascript que llama al código java. (Usando cordova)
  5. Plugin.xml – el corazón mismo del plugin, este fichero configura el complemento (añadiendo permisos, copiando ficheros a plataformas etc)

En su carpeta android, cree un archivo CustomPlugin.java.

package com.example.myplugin; import org.apache.cordova.CallbackContext; import org.apache.cordova.CordovaPlugin; import org.json.JSONObject; import org.json.JSONArray; import org.json.JSONException; public class CustomPlugin extends CordovaPlugin { @Override public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { if ("beep".equals(action)) { // print your log here... callbackContext.success(); return true; } return false; // Returning false results in a "MethodNotFound" error. } } 

Ahora necesitamos construir una interfaz entre javascript y código java.

Cordova proporciona una función simple para esto.

 exec(<successFunction>, <failFunction>, <service>, <action>, [<args>]); 

Cree un archivo MycustomPlugin.js en la carpeta www .

 cordova.exec( successCallback, ErrorCallBack, "service","action", []); 

Vale la pena saber que,

Service -> Nombre de la clase java

Acción -> acción que queremos llamar (en este caso "pitido" ver código anterior)

Su archivo MycustomPlugin.js debe tener este aspecto:

 var MyPlugin = { PrintLog: function (successCallback, errorCallback, action) { cordova.exec( successCallback, // success callback function errorCallback, // error callback function 'CustomPlugin', // mapped to our native Java class called action, // with this action name , in this case 'beep' [] )// arguments, if needed } } module.exports = MyPlugin; 

Por último, es necesario configurar el archivo plugin.xml

  <?xml version="1.0" encoding="utf-8"?> <plugin xmlns="http://www.phonegap.com/ns/plugins/1.0" id="com.example.plugin" version="0.0.1"> <name>Cordova Plugin</name> <engines> <engine name="cordova" version=">=3.4.0"/> </engines> <js-module src="www/MycustomPlugin.js" name="CustomPlugin"> <clobbers target="window.MycustomPlugin" /> </js-module> <platform name="android"> <config-file target="res/xml/config.xml" parent="/*"> <feature name="CustomPlugin"> <param name="android-package" value="com.example.myplugin.CustomPlugin"/> </feature> </config-file> <source-file src="src/android/CustomPlugin.java" target-dir="src/com/example/myplugin"/> </platform> </plugin> 

Ahora agrega este complemento a tu proyecto. MyApp (el que creaste) usando cordova plugin add /path/to/your/custom/plugin

Y en la función $ ionicPlatform.ready llame a su código java desde javascript

  window.MycustomPlugin.PrintLog(function(res){ //success }, function(err){ //error }, "beep") 

Encontré tu error:

 TypeError: Arguments to path.join must be strings at Object.win32.join (path.js:233:13) 

Se corrigió agregando la etiqueta de fin

 </platform> </plugin> 
  • Error Phonegap - "No se encontró metaetiqueta Content-Security-Policy. Agregue uno cuando utilice el complemento cordova-plugin-whitelist. "
  • ¿Cómo usar Phonegap SoftKeyboard Plugin para Android?
  • Planificación de un complemento de cámara cordova con imagen de superposición transparente
  • Mejora de Cordova PhoneGap a 5.1.1 desde 2.2.0
  • Anclaje inverso de Android sobre usb (no raíz)
  • Instalación de Phonegap / Cordova 3.1 plugins (código de barras)
  • Cómo redirigir hacia la ventana de configuración de GPS en android o ios utilizando phonegap para activar o desactivar un GPS
  • Cómo abrir la configuración de la ubicación de Android mediante el separador de teléfono
  • Cordova error (ERROR construyendo una de las plataformas)
  • ¿Phonegap Android AlarmManager plugin?
  • No se pudo encontrar com.parse.bolts: bolts-android: 1.1.2. En el proyecto de la brecha del teléfono (estudio del androide)?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.