2012-07-12 17 views
9

Actualmente estoy en un proyecto que necesita detectar si un dispositivo puede o no realizar una llamada telefónica. Dependiendo de si puede o no, necesito cambiar de vista y aplicar dos funciones diferentes, una es un botón para hacer una llamada a un número en particular usando tel: en html, la otra es un botón para que ingrese su número y nosotros Te llamaré usando la fonalidad.¿Cómo puedo ver si el teléfono está realmente vinculado a un dispositivo que puede hacer una llamada?

Actualmente, he logrado instalar tales plugins/bibliotecas como wurfl o terawurfl, ninguno que parece tener una forma 100% confiable de detectar si el teléfono móvil o la tableta/computadora de escritorio pueden hacer una llamada telefónica.

¿Hay alguna solución del lado del servidor o del usuario para esto como una etiqueta que perdí en wurfl/terawurfl o incluso una llamada de javascript ajax que podría detectar "yes tel: works" o algo de esa naturaleza.

+0

puede que no responda a su pregunta, pero vea este truco: http://stackoverflow.com/questions/836777/how -to-detect-browsers-protocol-handlers –

+0

No; JavaScript limitado al navegador, no tiene forma de acceder al protocolo o controladores asociados. Tendría que ofrecer la opción a su usuario ('Si tiene Skype, o este es un teléfono, y desea realizar la llamada, haga clic en el enlace' Llamar este número '; de lo contrario, haga clic en' 'nosotros' '). te llamo "botón"). –

+1

Realmente creo que deberías reconsiderar tu enfoque. Incluso si un teléfono/tableta tiene una SIM válida y está en una red, el operador o el usuario puede prohibirle realizar llamadas telefónicas (restricción de llamadas/restricción de llamadas); o es posible que no pueda llamar a su número en particular (sin servicio, o llamada internacional restringida, etc.) no habría forma de que usted lo supiera a menos que intente llamar al número que está tratando de alcanzar. –

Respuesta

1

Aquí hay una clase PHP que uso que detecta navegadores móviles que puede descargar de forma gratuita. http://code.google.com/p/php-mobile-detect/

Una vez que la clase en configurado correctamente se puede utilizar código como esto:

if ($detect->isMobile()) { 
    // any mobile platform 
    // place telephone code here 
} 

o puede ser más específica:

if($detect->isiOS()){ 
    // code to run for the Apple iOS platform. 
} 

Esto se utiliza generalmente para la creación de sitios web para móviles sin embargo se ajustará a su propósito :)

+0

esta solución realmente funciona usando los patrones en el agente de uso en lugar de tener una base de datos ... además podrías cambiarla y crear una nueva categoría. Parece un plugin útil, pero me hace darme cuenta de que muchos dispositivos pueden tener un número de teléfono, pero no fue diseñado para hacer una llamada telefónica ... –

+0

Muy cierto, la tecnología móvil es brillante y solo va a seguir mejorando. ¡Me alegro de que esto haya funcionado para ti, ahorra mucho tiempo y trabajas construyéndolo tú mismo! Lo uso para sitios web optimizados para dispositivos móviles –

Cuestiones relacionadas