使用mui调用拨打电话

mui('.mui-scroll').on('tap', '.dianhua1', function () {
    var btnArray = ['拨打','取消'];
    var phone = h(this).attr("value");
    mui.confirm('是否拨打'+phone+'?','提示',btnArray,function(e){
        if(e.index == 0){
            mui.plusReady(function() {
                window.location.href = 'tel:'+ phone;//拨打客服电话
                //plus.device.dial(phone, false);//这种写法不好用
            });

        }
    });
})

不好用:

第一种:直接调用mui封装方法,这种方法相对比较简单

        document.getElementById("telephone").addEventListener('tap',function(){
            var btnArray=['拨打','取消'];
            var phone="13122222222";
            mui.confirm('是否拨打'+phone+'?','提示',btnArray,function(e){
                if(e.index == 0){
                    plus.device.dial(phone,false);
                }
            });
        });

第二种:调用原生拨打电话,相对复杂一点,还需要区分ios和Android两个版本

        function call(number){
          if(plus.os.name=="Android"){
            var Intent = plus.android.importClass("android.content.Intent");
            var Uri = plus.android.importClass("android.net.Uri");
            var main = plus.android.runtimeMainActivity();
            var uri = Uri.parse("tel:"+number);
            var call = new Intent("android.intent.action.CALL", uri);
            main.startActivity(call);
        }else{
            //plus.device.dial(number, false);
            var UIAPP=plus.ios.importClass("UIApplication");
            var NSURL=plus.ios.importClass("NSURL");

            var app=UIAPP.sharedApplication();

            app.openURL(NSURL.URLWithString("tel://"+number));
        }
    }

 

https://dev.dcloud.net.cn/mui/

http://www.html5plus.org/doc/zh_cn/device.html#plus.device.dial

void plus.device.dial(number, confirm);

说明:

调用系统程序拨打电话。

参数:

  • number: String ) 必选 要拨打的电话号码

     

  • confirm: Boolean ) 可选 是否需要用户确认后开始拨打电话

    设置为true表示打开系统拨打电话界面,需用户点击拨号按钮后才开始拨打电话,false则无需确认直接拨打电话,默认值为true。

返回值:

void : 无

平台支持:

  • Android - 2.2+ (支持) :

    拨打电话需添加以下权限:

    • "<uses-permission android:name="android.permission.CALL_PHONE"/>"
    更多权限相关说明请参考:https://ask.dcloud.net.cn/article/36982

     

  • iOS - 5.1+ (支持) :

    忽略confirm参数,调用直接拨打电话。

示例:


//拨打电话
function dial() {
	plus.device.dial("10086", false);
}
posted @ 2020-11-19 13:45  石头记1  阅读(742)  评论(0)    收藏  举报