1.首先创建一个html文件

<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />

<div id=”msgContent”>

+8613858973960管理办公室  2011-11-30<br/>

15868474170<br/>

地址:杭州市文三西路<br/>

某公司招聘,下一位该面试的女孩的英文名叫“Spring”。秘书欲借机卖弄一下自己的英文水平,喊道:Hi!那个叫“春”的,轮到你了!

</div>

<script>

window.onload=function(){

var msgContent = document.getElementById(‘msgContent’).innerHTML;

var reg =/0{0,1}(13[4-9]?|15[7-9]|15[0-2]|18[7-8]|147)[0-9]{8}/g;

var arr = msgContent.match(reg);

for(var i=0;i<arr.length;i++){

msgContent=msgContent.replace(arr[i],”<a href=javascript:; onclick=window._Phone.showPhoneDialog(‘”+arr[i]+”‘)>”+arr[i]+”</a>”);

}

document.getElementById(‘msgContent’).innerHTML=msgContent;

}

</script>

2.webView的activity中

webView.getSettings().setJavaScriptEnabled(true);

webView.addJavascriptInterface(this, “_Phone”);

然后定义一个showPhoneDialog的方法:

 public void showPhoneDialog(String phoneNum) {
        Log.i(TAG, "HTML返回的phoneNum:" + phoneNum);
        selPhoneNum = phoneNum;
        new AlertDialog.Builder(BrowserActivity.this).setTitle("选择操作")
                .setItems(R.array.phone_options, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        switch (which) {
                        case CALL_PHONE:
                            Uri uriTel = Uri.parse("tel:" + selPhoneNum);
                            Intent intentTel = new Intent(Intent.ACTION_CALL, uriTel);
                            startActivity(intentTel);
                            break;
                        case CALL_SMS:
                            Uri uriSMS = Uri.parse("smsto:" + selPhoneNum);
                            Intent intentSMS = new Intent(Intent.ACTION_SENDTO, uriSMS);
                            startActivity(intentSMS);
                            break;
                        }
                    }
                }).setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss(); // 关闭alertDialog
                    }
                }).show();
    }

3.res/value中新增一个xml文件:

<?xml version="1.0" encoding="utf-8"?>

<resources>
    <string-array name="phone_options"> 
        <item>打电话</item> 
        <item>发短信</item>
    </string-array> 
</resources>

4.HTML中通过调用window._Phone.showPhoneDialog(‘”+arr[i]+”‘)就可以调用到java中的方法。

注意调用短信和电话的方法。