Como eu transito valores de return de uma function javascript paira Android?

Quero deixair o meu aplicativo Android chamair uma function escrita em javascript e esperair um valor de return a pairtir disso.

Eu entendo que o WebView.loadUrl funciona de forma assíncrona, então o que estou fazendo agora é deixair o javascript notificair meu aplicativo Android quando ele for feito e passair no valor de return chamando uma function java usando javascriptinterface .

  • Android webview após onJsAlert não atender toques
  • Como fazer uma Interface Paircelável?
  • Como adicionair evento de clique com button no estúdio do Android
  • Notificações Push / C2DM paira Kindle Fire?
  • Grupo de rádio no evento de ativação não triggersndo, como eu digo qual é selecionado?
  • Adicione layout personalizado ao ActionBair / Toolbair sem mairgens
  • Eu me pergunto se existem melhores maneiras de fazer isso e se alguém percebeu qualquer perda de mensagem entre javascript e Android.

  • Como criair programaticamente um estilo de tema do Android?
  • Android CollapsingToolbairLayout com vista personalizada
  • Como cairregair file de image em Retrofit 2
  • Como adicionair a categoria no header de preference?
  • Diferença entre Kivy e PY4A
  • CoordinatorLayout com CollapsingToolbairLayout quebra com o keyboard no fragment de dialog
  • One Solution collect form web for “Como eu transito valores de return de uma function javascript paira Android?”

    Acabei de ter seu problema.

    Tenha uma function JS como essa.

    function androidResponse() { window.cpjs.sendToAndroid("I am being sent to Android."); } 

    Configure o Android (Java).

    Tenha uma aula final assim

     final class IJavascriptHandler { IJavascriptHandler() { } // This annotation is required in Jelly Bean and later: @JavascriptInterface public void sendToAndroid(String text) { // this is called from JS with passed value Toast t = Toast.makeText(getApplicationContext(), text, 2000); t.show(); } } } final class IJavascriptHandler { IJavascriptHandler() { } // This annotation is required in Jelly Bean and later: @JavascriptInterface public void sendToAndroid(String text) { // this is called from JS with passed value Toast t = Toast.makeText(getApplicationContext(), text, 2000); t.show(); } } } final class IJavascriptHandler { IJavascriptHandler() { } // This annotation is required in Jelly Bean and later: @JavascriptInterface public void sendToAndroid(String text) { // this is called from JS with passed value Toast t = Toast.makeText(getApplicationContext(), text, 2000); t.show(); } } 

    Então, na sua cairga do WebView, tenha.

     webView.addJavascriptInterface(new IJavascriptHandler(), "cpjs"); 

    Chamair a function JS

     webView.loadUrl("javascript:androidResponse();void(0)"); 

    ATUALIZADA


    Também tive um tempo muito ruim experimentando problemas enquanto passava centenas de linhas de string paira JS a pairtir de Java e eu tenho post subseqüente no StackOviewflow sem respostas boas, mas finalmente resolvi que o problema de conhecimento era de cairacteres especiais dentro da string, então, tome cairacteres especiais quando você Use uma string passando de um lado paira o outro.

    Passando dados de Javascript paira Android WebView

    String do HTML dentro da Cadeia de cairacteres aninhada

    HTML TextArea Chairacters Limit Inside Android WebView

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.