美文网首页
H5调用打电话

H5调用打电话

作者: 风月寒 | 来源:发表于2017-10-25 20:12 被阅读0次

    安卓代码

    public class JsCallJavaCallPhoneActivity extends Activity {

    private WebView webView;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_js_call_java_video);

    webView = (WebView) findViewById(R.id.webview);

    WebSettings webSettings = webView.getSettings();

    //设置支持javaScript脚步语言

    webSettings.setJavaScriptEnabled(true);

    //支持双击-前提是页面要支持才显示

    //        webSettings.setUseWideViewPort(true);

    //支持缩放按钮-前提是页面要支持才显示

    webSettings.setBuiltInZoomControls(true);

    //设置客户端-不跳转到默认浏览器中

    webView.setWebViewClient(new WebViewClient());

    //设置支持js调用java

    webView.addJavascriptInterface(new AndroidAndJSInterface(), "Android");

    //加载本地资源

    //        webView.loadUrl("http://atguigu.com/teacher.shtml");

    webView.loadUrl("file:///android_asset/JsCallJavaCallPhone.html");

    //        webView.loadUrl("http://10.0.2.2:8080/assets/JsCallJavaCallPhone.html");

    }

    class AndroidAndJSInterface {

    /**

    * 该方法将被js调用,用于加载数据

    */

    @JavascriptInterface

    public void showcontacts() {

    // 下面的代码建议在子线程中调用

    String json = "[{\"name\":\"阿福\", \"phone\":\"18600012345\"}]";

    // 调用JS中的方法

    webView.loadUrl("javascript:show('" + json + "')");

    }

    @JavascriptInterface

    public void call(String phone) {

    Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phone));

    if (ActivityCompat.checkSelfPermission(JsCallJavaCallPhoneActivity.this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {

    return;

    }

    startActivity(intent);

    }

    JS源码

    function show(jsondata){

    var jsonobjs = eval(jsondata);

    var table = document.getElementById("personTable");

    for(var y=0; y

    var tr = table.insertRow(table.rows.length);

    var td1 = tr.insertCell(0);

    var td2 = tr.insertCell(1);

    td2.align = "center";

    td1.innerHTML = jsonobjs[y].name;

    td2.innerHTML = ""+ jsonobjs[y].phone+ "";

    }

    }

    相关文章

      网友评论

          本文标题:H5调用打电话

          本文链接:https://www.haomeiwen.com/subject/pwjcpxtx.html