2010-05-05 18 views
77

Para hacer una llamada telefónica a través de HTML en un iPhone, creo una etiqueta <A/> con un href formateado como: <a href='tel:123-555-1212'>Dial Me</a>.¿Puedo hacer una llamada desde HTML en Android?

¿Hay un equivelant para HTML en Android?

ACLARACIÓN - utilizando el formato href = 'tele: 123-555-1212' de hecho funciona en Android. Estaba probando la aplicación dentro de un contenedor Java nativo en el dispositivo. No parece que podamos hacer una llamada desde una aplicación web alojada en un Contenedor nativo.

Respuesta

118

Sí puede; funciona en Android también:

tel: phone_number
llamadas al número de teléfono introducido . Los números de teléfono válidos según se definen en IETF RFC 3966 son aceptados. Ejemplos válidos incluyen la siguiente:

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

El navegador de Android utiliza la aplicación Teléfono para manejar el esquema de “teléfono”, como se define en el RFC 3966.
Al hacer clic en un enlace como:

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

en Android abrirá la aplicación Teléfono e introducirá previamente los dígitos para 2125551212 sin marcación automática.

Tenga una mirada a RFC3966

+0

Al hacer clic en el enlace, el iphone entra en la llamada automáticamente (marcado automático)? o es como Android? (abra el marcador, y debe presionar el botón de llamada). – Enrique

+6

Asegúrese de tener esto: en su Manifest.xml – jasonflaherty

+2

Esto no funciona en la vista web, ¿por qué? – GMsoF

19

Generalmente en Android, si simplemente muestra el número de teléfono y el usuario toca el botón, lo levantará en el marcador. Por lo tanto, usted podría simplemente hacer

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

Cuando el usuario toca en la parte en negrita, ya que está formateado como un número de teléfono, el marcador aparecerá, y mostrar 4165551234 en el campo de número de teléfono. El usuario simplemente tiene que presionar el botón de llamada.

que podría ser capaz de hacer

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

para cubrir ambos dispositivos, pero no estoy seguro de lo bien que esto funcionaría. Lo probaré en breve y te lo haré saber.

EDIT: que acabo de dar a este un intento en mi HTC Magic funcionamiento de una arraigada Rogers 1,5 con 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 primera de ellas, que rodea con el enlace y la impresión del número de teléfono, funcionó a la perfección. Sacó el marcador con los guiones y todo. El segundo, diciendo our number con el enlace, funcionó exactamente igual. Esto significa que usar <a href='tel:xxx-xxx-xxxx'> debería funcionar en todos los ámbitos, pero no sugeriría que mi única prueba sea concluyente.

Vinculación directa al número que se esperaba: intenté extraer el archivo inexistente del servidor.

El último hizo lo que mencioné anteriormente, y detuvo el marcador, pero sin los agradables guiones de formateo.

21

que acabo de escribir una aplicación que puede realizar una llamada desde una página web - No sé si se trata de ninguna utilidad para usted, pero de todos modos incluyen:

en su onCreate tendrá que utilizar una vista web y asignar un WebViewClient, como a continuación:

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

luego manejar el clic en un número de teléfono de esta manera:

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 true; 
     } 
    } 
} 

Avíseme si necesita más consejos.

M

+1

Gracias - ¡sí, ese es un buen enfoque! Terminé agregando acceso a mi aplicación desde JavaScript con addJavascriptInterface – Kevin

Cuestiones relacionadas