web-dev-qa-db-fra.com

Puis-je passer un appel téléphonique depuis HTML sur Android?

Pour passer un appel téléphonique via HTML sur un iPhone, je crée un <A/> balise avec une href formatée comme suit: <a href='tel:123-555-1212'>Dial Me</a>.

Existe-t-il un équivalent pour HTML sur Android?

CLARIFICATION - utiliser le format href = 'tele: 123-555-1212' fonctionne bien sur Android. Je testais l'application dans un wrapper Java natif sur le périphérique). Il ne semble pas que nous puissions appeler à partir d'une application Web hébergée dans un wrapper natif.

81
Kevin

Oui, vous pouvez; cela fonctionne sur Android aussi:

tel: numéro de téléphone
Appelle le numéro de téléphone entré. Les numéros de téléphone valides définis dans la RFC 3966 de l'IETF sont acceptés. Les exemples valides sont les suivants:

* tel:2125551212
* tel: (212) 555 1212

Le navigateur Android utilise l'application Phone pour gérer le schéma "tel", tel que défini par la RFC 3966.
En cliquant sur un lien du genre:

<a href="tel:2125551212">2125551212</a>

on Android ouvrira l’application Téléphone et entrera les chiffres pour 2125551212 sans numérotation automatique.

Jetez un oeil à RFC3966

125
systempuntoout

Je viens d'écrire une application qui peut passer un appel depuis une page Web. Je ne sais pas si cela peut vous être utile, mais j'inclus quand même:

dans votre onCreate, vous devrez utiliser une vue Web et affecter un WebViewClient, comme ci-dessous:

browser = (WebView) findViewById(R.id.webkit);
browser.setWebViewClient(new InternalWebViewClient());

puis gérer le clic sur un numéro de téléphone comme ceci:

private class InternalWebViewClient extends WebViewClient {

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
         if (url.indexOf("tel:") > -1) {
            startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse(url)));
            return true;
        } else {
            return false;
        }
    }
}

Faites-moi savoir si vous avez besoin de plus de pointeurs.

22
Martyn

Généralement sur Android, si vous affichez simplement le numéro de téléphone et que l'utilisateur appuie dessus, il le trouvera dans le numéroteur. Donc, vous pourriez simplement faire

For more information, call us at <b>416-555-1234</b>

Lorsque l'utilisateur appuie sur la partie en gras, étant donné que le numéro est composé comme un numéro de téléphone, le composeur s'ouvre et affiche 4165551234 dans le champ du numéro de téléphone. Il suffit alors à l'utilisateur d'appuyer sur le bouton d'appel.

Vous pourriez être capable de faire

For more information, call us at <a href='tel:416-555-1234'>416-555-1234</a>

couvrir les deux appareils, mais je ne sais pas si cela fonctionnerait bien. Je vais faire un essai sous peu et vous tiens au courant.

EDIT: Je viens d’essayer ceci sur mon HTC Magic exécutant un Rogers 1.5 enraciné avec SenseUI:

For more information, call us at <a href='tel:416-555-1234'>416-555-1234</a><br />
<br />
Call at <a href='tel:416-555-1234'>our number</a>
<br />
<br />
<a href='416-555-1234'>Blah</a>
<br />
<br />
For more info, call <b>416-555-1234</b>

La première, entourée du lien et imprimant le numéro de téléphone, fonctionnait parfaitement. Tiré le composeur avec les traits d'union et tout. La seconde en disant our number avec le lien, fonctionne exactement de la même manière. Cela signifie que l'utilisation de <a href='tel:xxx-xxx-xxxx'> devrait fonctionner à tous les niveaux, mais je ne recommanderais pas de prendre mon test comme concluant.

La liaison directe au numéro a eu l'effet escompté: j'ai essayé d'extraire le fichier inexistant du serveur.

Le dernier a fait comme je l'ai mentionné ci-dessus, et a tiré le numéroteur, mais sans les traits d'union Nice.

20
Tarka