você está aqui: Home  → Arquivo de Mensagens

Como executar uma função nativa no Android via Javascript (WebView)?

Colaboração: Ricardo Takemura

Data de Publicação: 15 de junho de 2017

Primeiramente, é preciso dar permissão para a WebView executar o javascript, adicionar um objeto e externalizar o método deste objeto com a anotação JavascriptInterface:

public class MyActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
...
WebView webView = findViewById(R.id.webView);
webView.getSettings().setJavascriptEnabled(true);
webView.addJavascriptInterface(new Object() {
       //Método externalizado
       @JavascriptInterface
       public void showToast() {
                Toast.makeText(MyActivity.this, "Hello world!", Toast.LENGTH_LONG).show();
       }
//Nome do objeto no javascript
},"native");
...
}

}

E depois, usar no arquivo "js" ou "html", o objeto e método externalizado:

  ...
  <script>
  function ToastButton_onClick() {
          native.showToast();
  }
  </script>
  ...
  <button ontouchstart="ToastButton_onClick();">Toast</button>
  ...

Fácil, não? :P



Veja a relação completa dos artigos de Ricardo Takemura

 

 

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script