android webView js 使用
1、js调用java
    1、1 js代码
    

    1.2、java代码
    package com.example.webview;
    import android.annotation.SuppressLint;
    import android.content.Intent;
    import android.net.Uri;
    import android.os.Bundle;
    import android.support.v7.app.ActionBarActivity;
    import android.view.KeyEvent;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.Window;
    import android.webkit.JavascriptInterface;
    import android.webkit.WebSettings;
    import android.webkit.WebView;
    import android.webkit.WebViewClient;
    
    @SuppressLint("JavascriptInterface")
    public class MainActivity extends ActionBarActivity {
    
        private WebView webView;
        private int screenHeight;
        private int screenWidth;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            
            requestWindowFeature(Window.FEATURE_NO_TITLE); //设置无标题
            setContentView(R.layout.activity_main);
    
            webView = (WebView) findViewById(R.id.web_view);
            WebSettings webSettings = webView.getSettings();
            webSettings.setBuiltInZoomControls(true);
            webSettings.setLoadWithOverviewMode(true);
            webSettings.setJavaScriptEnabled(true);
            
            webView.setWebViewClient(new MyWebViewClient());
            webView.addJavascriptInterface(new MyAndroidInterface(), "androidInterface");
            
            String url ="file:///android_asset/tangbangjidian/fuwu.html";  
            //String url ="file:///android_asset/baitian/index.html";  
            webView.loadUrl(url);
        }
    
       class MyAndroidInterface{
            
            public MyAndroidInterface(){};
            
            @JavascriptInterface //注意:加上这行注解
            public void call(String number){
                //用intent启动拨打电话  
                Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+number));  
                startActivity(intent);
            }
        }
        
        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {  
                webView.goBack(); //goBack()表示返回WebView的上一页面  
                return false;  
            }  
            return true;
        }
        
        private class MyWebViewClient extends WebViewClient{
            @Override  
            public boolean shouldOverrideUrlLoading(WebView view, String url) {  
                view.loadUrl(url);// 当打开新链接时,使用当前的 WebView,不会使用系统其他浏览器  
                return true;  
            }
        }
        
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
    
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            int id = item.getItemId();
            if (id == R.id.action_settings) {
                return true;
            }
            return super.onOptionsItemSelected(item);
        }
    }

2、java 调用js
    2.1、java代码,webView为WebView对象
          // 无参数调用  
        webView.loadUrl("javascript:javacalljs()");  
        // 传递参数调用  
        webView.loadUrl("javascript:javacalljswithargs(" + "'hello world'" + ")");  
    2.2、js代码
    function javacalljs(){  
     document.getElementById("content").innerHTML +=     
         "    }  
      
    function javacalljswithargs(arg){  
         document.getElementById("content").innerHTML +=     
             ("    }  
 
      

更多相关文章

  1. Android(安卓)CheckBox控件使用OnClickListener和OnCheckedChang
  2. Android(安卓)基本控件
  3. android 调用系统应用
  4. android实现调用系统音乐播放器
  5. android 5.1 API简介
  6. 自定义Android(安卓)editText
  7. Android(安卓)ListView(Selector 背景图片)
  8. AIDL
  9. 禁止Android的StatusBar下拉

随机推荐

  1. QMUI android 框架 git下载项目运行报错
  2. Android(安卓)新的锁屏接口的实现
  3. 编译android 7.0 出现Try increasing hea
  4. android 开源组件合集-UI篇(2013-11-07更
  5. android 源码开发 关于编译等小知识点总
  6. android emulator创建avd命令
  7. Android(安卓)4.0 wifi 和 Ethernet 的实
  8. Android(安卓)Adb指令
  9. android onGestureListener的方法
  10. [置顶] Android下的stl读取3D显示