No necesito llamar al número de teléfono, solo necesito que el marcador se abra con el número de teléfono ya mostrado. ¿Qué Intent
debo usar para lograr esto?
No necesito llamar al número de teléfono, solo necesito que el marcador se abra con el número de teléfono ya mostrado. ¿Qué Intent
debo usar para lograr esto?
Dos formas de lograrlo.
1) Necesita iniciar el marcador a través del código, sin interacción del usuario.
Es necesario Action_Dial
,
use el siguiente código, abrirá Marcador con el número especificado
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:0123456789"));
startActivity(intent);
Se requiere el prefijo 'tel:' , de lo contrario se generará la siguiente excepción: java.lang.IllegalStateException: No se pudo ejecutar el método de la actividad.
Action_Dial no requiere ningún permiso.
Si desea iniciar la llamada directamente sin la interacción del usuario , puede usar la acción Intent.ACTION_CALL
. En este caso, debe agregar el siguiente permiso en su AndroidManifest.xml:
<uses-permission android:name="android.permission.CALL_PHONE" />
2) Necesita que el usuario haga clic en la cadena Phone_Number e inicie la llamada.
android:autoLink="phone"
Necesita usar TextView con la propiedad a continuación.
android: autoLink = "phone" android: linksClickable = "true" una propiedad textView
No necesita usar la intención ni obtener permiso de esta manera.
Bastante tarde en la respuesta, pero si tiene un
TextView
mensaje en el que muestra el número de teléfono, entonces no necesita tratar conandroid:autoLink="phone"
ningúnACTION_DIAL
intento , simplemente puede usar el atributo XML y el sistema operativo iniciará automáticamente un intento.fuente
Bien, va a ser extremadamente tarde la respuesta a esta pregunta. Pero aquí hay solo una muestra si quieres hacerlo en Kotlin .
Pensé que podría ayudar a alguien.
fuente
Como @ashishduh mencionó anteriormente, usando
android:autoLink="phone
también es una buena solución. Pero esta opción viene con un inconveniente, no funciona con todas las longitudes de números de teléfono. Por ejemplo, un número de teléfono de 11 números no funcionará con esta opción. La solución es prefijar sus números de teléfono con el código del país.Ejemplo:
08034448845
no funcionarápero lo
+2348034448845
haráfuente
Así es como puede abrir el número asignado a la etiqueta EditText directamente en el marcador.
fuente
Agregar permiso en manifiesto:
Haga un botón o cualquier ejemplo de widget:
btnCall
fuente