Voglio creare un plug-in per telefono che passi e restituisca il valore tra javascript e android.Passa e restituisci i valori da javascript e android e usa come plug-in gap telefonico
Qualcuno può suggerire qualche idea su come farlo?
Voglio creare un plug-in per telefono che passi e restituisca il valore tra javascript e android.Passa e restituisci i valori da javascript e android e usa come plug-in gap telefonico
Qualcuno può suggerire qualche idea su come farlo?
In realtà, questo non è molto difficile. Qui, vi mostrerò come chiamare codice nativo da javascript all'interno della pagina e viceversa:
Chiamate al codice nativo all'interno di visualizzazione Web:
Quando si crea la visualizzazione Web aggiungere javascript interfaccia (classe fondamentalmente java cui metodi saranno esposti per essere chiamato tramite javascript nella vista web.
JavaScriptInterface jsInterface = new JavaScriptInterface(this);
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(jsInterface, "JSInterface");
la definizione della classe di interfaccia javascript in sé (questo è di classe esemplare ho preso da un'altra risposta di mine e si apre il video negli intenti nativo)
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);
}
}
Ora, se si desidera chiamare questo codice costituiscono il codice HTML della pagina si fornisce il seguente metodo:
<script>
function playVideo(video){
window.JSInterface.startVideo(video);
}
</script>
Facile no?
Calling codice javascript da codice nativo:
Questo è anche semplice supponiamo che nel codice del HTML caricata in WebView hai javascript funzione definita:
<script>
function function(){
//... do something
}
</script>
quindi si chiama questa funzione tramite il WebView nel codice nativo così:
webView.loadUrl("javascript:function()");
Ecco un tutorial per la creazione di un plugin PhoneGap. Anche il instructions per il plugin ChildBrowser è particolarmente buono.
Hey grazie Boris: D Questo è quello che cerco esattamente. Mi piace molto che tu abbia scritto in dettaglio in un modo molto semplice e semplice. Jgd, God Bless you :) – Prax
il codice javascript di chiamata da codice nativo funziona, ma come lo si modifica per restituire un valore dal javascript al codice java – user280109
@ user280109: è necessario aggiungere i valori dei parametri nella chiamata. Ecco un esempio: http://stackoverflow.com/a/4330642/1108032 –