Dipende dall'attività che hai creato.
Se la tua attività principale è lo schermo Cordova, e sarà a schermo intero, e un'azione sulla parte Cordova avvierà la tua attività nativa per un determinato compito, allora dovresti usare un plugin per questo, che lanci il tuo attività usando un intento e quando finisci con esso lo chiudi e torni all'attività Cordova, restituendo un valore o meno.
Se si desidera mescolare la vista Cordova con la visualizzazione nativa, in cui nessuno di essi è a schermo intero, è necessario passare all'inserimento di Cordova in un progetto nativo.
Se la tua attività sarà la tua attività principale, incorporare Cordova è l'unica opzione.
come da lei richiesto per gli esempi e non ci si pensa plugin reali non sono un buon esempio, io semplificare il plugin creation guide
Un plugin ha bisogno di un file plugin.xml che assomiglia a questo:
<?xml version="1.0" encoding="UTF-8"?>
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
id="your-plugin-id" version="1.0.0">
<name>pluginName</name>
<description>description of the plugin</description>
<license>License of the plugin</license>
<js-module src="www/pluginName.js" name="pluginName">
<clobbers target="pluginName" />
</js-module>
<platform name="android">
<config-file target="res/xml/config.xml" parent="/*">
<feature name="PluginName" >
<param name="android-package" value="your.plugin.package.pluginName"/>
</feature>
</config-file>
<source-file src="src/android/PluginName.java" target-dir="your/plugin/package/PluginName" />
</platform>
</plugin>
Guardandolo, è possibile vedere che è necessaria anche una cartella www con un file pluginName.js e una cartella src/android con un file pluginName.java.
I pluginName.js dovrebbe essere qualcosa di simile:
function showNativeView() {
cordova.exec(successCallback, errorCallback, "PluginName", "showNativeView", [arguments]);
}
primo param è la funzione successCallback da chiamare quando la finitura plugin di esecuzione. Secondo param è la funzione errorCallback per chiamare se il plugin ha qualche problema Terzo param è il nome della classe java che chiamerai, deve corrispondere a quello sul plugin.xml Quarto param è l'azione da chiamare la classe java E quinta è una matrice o argomenti se si desidera inviare qualsiasi. Per eseguirlo, chiama showNativeView() da un clic del mouse o comunque desideri. Promemoria, questo è troppo semplificato, il modo corretto di farlo dovrebbe essere la creazione di uno spazio dei nomi per il plugin e l'aggiunta delle diverse funzioni ad esso, ma voglio mantenerlo semplice.
Infine il PluginName.java dovrebbe essere qualcosa di simile:
@Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
if ("showNativeView".equals(action)) {
Intent yourIntent = new Intent(this.cordova.getActivity().getBaseContext(), YourActivityToLaunch.class);
cordova.getActivity().startActivity(yourIntent);
callbackContext.success();
return true;
}
return false; // Returning false results in a "MethodNotFound" error.
}
Questo lancia un semplice intento che non restituisce nulla in cambio, se la vostra attività di ritorno qualcosa, allora è necessario utilizzare
this.cordova.startActivityForResult(this, yourIntent, REQUEST_CODE);
E aggiungere il
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
String result = intent.getStringExtra("WHATEVER_THE_INTENT_RETURNS"),
this.callbackContext.success(result);
}
Si chiama il successo qui invece di farlo subito dopo aver avviato l'intento e restituire il valore restituito dall'attività. Dovresti anche controllare il REQUEST_CODE in modo che corrisponda a quello che hai usato per lanciare l'intento, il risultato dell'attività, ecc.
Puoi mostrare alcuni esempi di codice? Il plugin per fotocamera – funerr
avvia un intento https://github.com/apache/cordova-plugin-camera, anche il plugin inAppBrowser https://github.com/apache/cordova-plugin-inappbrowser, il plugin per scanner di codici a barre anche https: // github .com/PhoneGap/PhoneGap-plugin-Barcodescanner. Per quanto riguarda l'incorporamento della webview di Cordova, non ho esempi e la guida sul sito Cordova è terribilmente obsoleta. – jcesarmobile
Intendevo aggiungere codice come: [pulsante cordova che apre un intento nativo] -> [codice nativo] + la struttura dell'app dei file. I link più possono essere 404 un giorno. – funerr