È possibile aggiungere un'interfaccia JavaScript al browser Android nello stesso modo in cui è possibile aggiungere al componente WebView come illustrated in this demo. Il mio caso d'uso particolare richiede solo JavaScript -> android per poterlo inviare all'attività precedente.Aggiunta di un'interfaccia JavaScript a un browser
risposta
Puoi invocare metodi e funzioni nella tua webview usando javascript url's, ad es.
webview.loadUrl("javascript:somemethod()");
Sarà, ovviamente, necessario abilitare JavaScript sul tuo WebView:
webview.getSettings().setJavaScriptEnabled(true);
Questo è da Java a JavaScript. Se si vuole invocare codice Java/API Android da JavaScript, utilizzare addJavascriptInterface()
webview.addJavascriptInterface(new MyJSJavaBridge(), "api");
Tutto questo è illustrato nell'esempio URL che avete inviato pure.
sicuro, sulla WebView hai descritto gli stessi passaggi del WebViewDemo a cui mi sono collegato nella domanda, ma che dire del Browser? –
@vo van der Wijk ho una domanda su questo codice - 'webview.loadUrl (" javascript: somemethod() ");' perché nella mia app non funziona = ( quindi puoi spiegare cosa c'è di sbagliato nel mio codice che non funziona - 'webview.loadUrl (" javascript: document.getElementById ('pass_id'). value = '"+ CLIENT_PWD +"') ");' – vladimir
È possibile farlo utilizzando jsinterface. Per prima cosa è necessario abilitare il browser jsinterface e quindi è possibile chiamare il metodo Android dall'HTML del browser.
Si può, ad esempio ottenere un equo e idea qui ...
http://android-puremvc-ormlite.blogspot.com/2011/07/using-java-script-in-android-webview.html
- 1. Javascript: aggiunta a un array associativo
- 2. Aggiunta di un file JavaScript
- 3. JavaScript Aggiunta di booleani
- 4. browser di controllo Javascript
- 5. Aggiunta di un'opzione a un elemento di selezione con javascript utilizzando la libreria Prototype
- 6. Aggiunta di flusso a un progetto esistente
- 7. Aggiunta di un listener di eventi a un iframe
- 8. Aggiunta di testo a documento SVG in javascript
- 9. Aggiunta di elemento div a body o documento in JavaScript
- 10. Aggiunta di valori da C# a DIV tramite JavaScript
- 11. Aggiunta di sorgenti a video HTML5 in javascript?
- 12. Javascript: document.execCommand cross-browser?
- 13. Link a livello di segnalibro con Javascript Cross-Browser
- 14. Impedisci a JavaScript di bloccare il browser sul grande loop
- 15. ID browser univoco JavaScript
- 16. Aggiunta di un evento onclick a un elemento div
- 17. Accesso al microfono da un browser - Javascript
- 18. Aggiunta dinamica di ruoli a un utente
- 19. Aggiunta di Json.Net a un progetto Unity3D
- 20. Aggiunta di Envers a un database esistente
- 21. Aggiunta di un intero a NSMutableArray
- 22. Aggiunta di un onclicklistener a ListView (Android)
- 23. Aggiunta di UIScrollView a un UIViewController
- 24. Aggiunta di un CALayer a MKOverlayRenderer?
- 25. Aggiunta di un valore a una tupla
- 26. Aggiunta di elementi a un JComboBox
- 27. Aggiunta di parametri a un ambito
- 28. Aggiunta di testo a un file immagine
- 29. Aggiunta di un nuovo CODEC a ffmpeg
- 30. Aggiunta di giorni a un timestamp
Solo per curiosità, perché non si utilizza il codice del progetto open source che hai indicò? Non è lì quello che stai cercando? Non sei sicuro di cosa intendi con JS Interface, puoi spiegare cosa fa? –
Ho bisogno dell'integrazione più stretta del browser su una WebView. Devo fare clic su un pulsante di una pagina web e attivare il ritorno alla precedente attività (che ha lanciato il browser) –
Penso che non sia possibile ... non pensi che sarà pericoloso? Voglio dire, permettere che questo tipo di cose sarebbe un GRANDE problema di sicurezza. – Cristian