Cómo llamar a una actividad de Android desde PhoneGap

Soy nuevo en PhoneGap y soy capaz de implementar la aplicación básica con PhoneGap, ahora para mejorar aún más, quiero conectar PhoneGap con Android actividades, básicamente lo que planeo es llamar a startActivity () método utilizando una función javascript.

He intentado la comunicación entre Android Java y Phonegap Javascript?

Pero no pude llamar a una actividad, causando un error de cierre de la fuerza. ¡Ayúdame, esperando una respuesta!

Se llama a cualquier llamada de código Java Native sin utilizar ningún complemento como sigue.

Siga los siguientes pasos.

  1. Reemplace el código siguiente por su actividad DroidGap existente.

    @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.init(); // Calling this is necessary to make this work appView.addJavascriptInterface(this, "MainActivity"); /* "this" points the to the object of the current activity. "MainActivity" is used to refer "this" object in JavaScript as in Step 3. */ super.loadUrl("file:///android_asset/www/index.html"); } 
  2. Agregue la función personalizada en la actividad actual (esta) como sigue.

     public void customFunctionCalled() { Log.e("Custom Function Called", "Custom Function Called"); } 
  3. Ahora llame a esta función de su código HTML / JavaScript como sigue.

     <script type="text/javascript"> function callNewActivity() { window.MainActivity.customFunctionCalled(); } </script> 

Esto llamará customFunctionCalled() en MainActivity .

Eclipse es una aplicación que permite organizar todo tipo de … Eclipse 3.7.2 Android 2.2 Emulator PhoneGap – 2.0.0

Por favor, envíe sus comentarios aquí para mejorar la publicación de blogs. http://phonegapexplorers.blogspot.in/2012/08/call-native-java-code-phonegap-android.html

Su duro sin saber más acerca de lo que está tratando de hacer exactamente, pero ir por el camino de escribir un complemento es probablemente el camino a seguir. Revisa;

http://smus.com/android-phonegap-plugins

Este complemento podría funcionar para usted tal como está, o darle buenos indicios de cómo hacerlo usted mismo.

Prueba a crear complementos, aquí hay algunos complementos ejemplo https://github.com/phonegap/phonegap-plugins

Intento lo que usted está tratando de hacer antes, con las actualizaciones de phonegap a la versión 2.0.0 y hacia arriba la mejor manera de hacerlo es con el complemento. Esta es la carpeta js en el teléfono en la carpeta de activos. Asegúrese de construir elemento div con id "nativecall" y un botón de muestra para detectarlo. Asegúrese de ver LogCat para comprobar los mensajes de error.

  window.echo = function(str, callback) { cordova.exec(callback, function(err) { callback('Nothing to echo.'); }, "Echo", "echo", [str]); }; var app = { // Application Constructor initialize: function() { this.bindEvents(); }, // Bind Event Listeners // // Bind any events that are required on startup. Common events are: // 'load', 'deviceready', 'offline', and 'online'. bindEvents: function() { document.addEventListener('deviceready', this.onDeviceReady, false); }, // deviceready Event Handler // // The scope of 'this' is the event. In order to call the 'receivedEvent' // function, we must explicity call 'app.receivedEvent(...);' onDeviceReady: function() { app.receivedEvent('deviceready'); }, // Update DOM on a Received Event receivedEvent: function() { var abiter = $('#nativecall').html(); $("#abutton").click(function () { window.echo(abiter, function(echoValue) { alert(echoValue = abiter); // should alert true. }); }); } }; app.initialize(); 

En src agregue un nuevo método de clase con el nombre de servicio "Echo".

  package org.apache.cordova.plugin; import org.apache.cordova.api.CallbackContext; import org.apache.cordova.plugin.AndroidActivities; import org.apache.cordova.api.CordovaPlugin; import org.json.JSONArray; import org.json.JSONException; /** * This class echoes a string called from JavaScript. */ public class Echo extends CordovaPlugin { @Override public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { if (action.equals("echo")) { String message = args.getString(0); new AndroidPublicFunction(message); //call function from AndroidActivities this.echo(message, callbackContext); return true; } return false; } private void echo(String message, CallbackContext callbackContext) { if (message != null && message.length() > 0) { callbackContext.success(message); } else { callbackContext.error("Expected one non-empty string argument."); } } } 
  • En línea vs incluidos js y css?
  • El teclado móvil HTML5 cubre la entrada en modo de pantalla completa
  • Evaluando MapboxGLManager.mapStyles
  • En la vista web de Android cuando ejecuto javascript desaparece el sotfkeyboard
  • Android WebView: acceso a clases desde un iframe dentro de otro iframe
  • ¿Existe un método aceptable de plataforma cruzada para mostrar un teclado numérico en formularios web estándar en un dispositivo basado en táctil?
  • Usando javascript en android webview
  • REST - Cómo restringir el acceso para el software de cliente no autorizado
  • JavaScript La geolocalización no funciona en todos los navegadores de Android: funciona en iOS y PC
  • Utilizar javascript source-maps con phonegap
  • Rendimiento de la vista web de Android a bitmap, html5 javascript, problema de devolución de llamada
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.