IT源码网

安卓和html的互相调用

qq123 2021年02月16日 手机开发 464 0

1.写html和安卓布局

 <Button 
        android:id="@+id/btn" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" /> 
    <WebView 
        android:id="@+id/webview" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content"> 
    </WebView>
<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Document</title> 
</head> 
<body> 
    <input id="input"> 
<button id="button" onclick="sayHello()">按钮</button> 
 
    <script> 
        function sayHello(){ 
            var name =document.getElementById("input").value; 
            app.sayHello(name) 
        } 
 
        function showName(name){ 
           document.getElementById("input").value=name; 
 
 
        } 
    </script> 
</body> 
</html> 

  2.编写activity

    private WebView webView; 
    private WebAppInterface webAppInterface; 

  

 class WebAppInterface{ 
        private Context mContext; 
        public WebAppInterface(Context context){ 
            this.mContext=context; 
        } 
 
        @JavascriptInterface 
        public void sayHello(String name){ 
            Toast.makeText(mContext,name,Toast.LENGTH_SHORT).show(); 
        } 
 
        public void showName(final String name){ 
            runOnUiThread(new Runnable() { 
                @Override 
                public void run() { 
                    webView.loadUrl("javascript:showName('"+name+"')"); 
                } 
            }); 
        } 
 
    }
    webView=findViewById(R.id.webview); 
        String url ="http://a.st"; 
        webView.loadUrl(url); 
 
        webView.getSettings().setJavaScriptEnabled(true); 
        webAppInterface=new WebAppInterface(this); 
        webView.addJavascriptInterface(webAppInterface,"app"); 
 
        Button button =findViewById(R.id.btn); 
        button.setOnClickListener(new View.OnClickListener() { 
            @Override 
            public void onClick(View view) { 
                webAppInterface.showName("wirhiutrhi"); 
            } 
        });

要看下webview控件的setting配置,来更好的设置

可以实现互相调用,可以做hybird拉

评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!