Desidero effettuare una chiamata sincrona ad un codice Java nella mia app per Android.Chiama la funzione Java da JavaScript tramite Android WebView
Sto usando questa soluzione: https://stackoverflow.com/a/3338656
mio codice Java:
final class MyWebChromeClient extends WebChromeClient {
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
Log.d("LogTag", message);
result.confirm();
return true;
}
}
mio codice JavaScript:
<html>
<script>
function java_request(){
alert('test');
}
</script>
<body>
<h2>Welcome</h2>
<div id="area"></div>
<form>
<input type="button" value="java_call" onclick="java_request()">
</form>
</body>
</html>
Quando si tocca il tasto java_call
, il pulsante va a lo stato premuto. Posso vedere 'test'
nel log della console. Tutto è normale fino a qui.
Il problema è che il pulsante non torna mai allo stato normale. Rimane nello stato premuto. Forse l'esecuzione di JavaScript è rotta o qualcosa del genere?
Perché il pulsante non ritorna mai allo stato normale?
grazie per informazioni, ho visto questa soluzione. poiché c'è un bug in 2.3.X per questa soluzione, non voglio usarlo. soluzione era molto formidabile. – ozkolonur
@ozkolonur Ho usato questo con tutte le versioni di Android 2.2+, mai visto alcun bug. Puoi condividere quello che è. Un link è anche molto gradito. –
http://code.google.com/p/android/issues/detail?id=12987 – ozkolonur