How to open the phone dialer?

2020-07-14 09:25发布

问题:

I am trying to launch the phone dialer in my worklight 6.2 hybrid application when clicking on a button and/or an anchor tag. Below is the code I am using.

button:

<button onClick='window.parent.location.href = "tel:+1xxxx"'>Tel</button>

anchor tag:

<a href='tel:+18001111111' class="ui-link">(800) 111-1111</a>  

When we click on button/anchor tag below is the behavior in android and iOS.
In android:

Displays a pop up window with the message

Application Error net::ERR_UNKNOWN_URL_SCHEME (TEL:+18001111111)

In iOS:

The click event doesn't respond.

回答1:

Are you testing in the iOS Simulator? if so, you must test in a device.
For Android, you can test in either the Emulator or a device.

The following worked for me in an iOS device:

  • <a href="tel:+1-800-555-1234">call this number</a>
    Can be invoked right from the HTML

  • document.location.href = "tel:+375292771265";
    Can be invoked via a function on button tap

As for Android,

Due to security bugs in Cordova (and the fixes made to counter them), to get the above code to work, you need to open native\res\xml\config.xml and perform the following:

 - <access origin="*"/>
 + <access origin="tel:*" launch-external="true"/>


回答2:

this cordova plugin are use

mx.ferreyra.callnumber 0.0.2 "Cordova Call Number Plugin"

Code

   <ion-fab left bottom>
    <a href="tel:number" class="button" ion-fab color="light">
        <ion-icon name="keypad"></ion-icon>
    </a>
</ion-fab>


回答3:

If you are using like this <a href="tel:+1-800-555-1234">call this number</a> and you still getting an error saying ERR_UNKNOWN_URL_SCHEME then use cordova-plugin-invokedialer.

cordova-plugin-invokedialer- npm