telefono para mejor marcador llamar llamadas dialer descargar automatico app aplicación aplicacion android phone-call

para - Aplicación de marcador Android



marcador automatico de llamadas android (4)

Estoy averiguando una forma de reemplazar la aplicación de marcación predeterminada de mi aplicación de marcación personalizada, pero no entiendo cómo lograr esto.

Esto es lo que quiero

  • Crear una interfaz de usuario de marcador personalizada
  • Mi aplicación se llama cuando se presiona el hardware del botón de llamada o el de Android.
  • La aplicación también se puede llamar desde la pantalla de contacto

Me refiero a la cadena final pública estática ACTION_DIAL .


  1. Crea una aplicación de Android simple (nuestro marcador). Para llamar realmente a alguien, solo necesitas ese método:

    private void performDial(String numberString) { if (!numberString.equals("")) { Uri number = Uri.parse("tel:" + numberString); Intent dial = new Intent(Intent.ACTION_CALL, number); startActivity(dial); } }

  2. Dale permiso a tu aplicación para llamar a AndroidManifest

    <uses-permission android:name="android.permission.CALL_PHONE" />

  3. Establecer en AndroidManifest intención que dice a su teléfono para usar su aplicación cuando necesita un marcador

Cuando alguien presione el botón de llamada:

<intent-filter> <action android:name="android.intent.action.CALL_BUTTON" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter>

Cuando alguien dispara un URI:

<intent-filter> <action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.DIAL" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="tel" /> </intent-filter>


Consulte esta respuesta por arekolek .

Esta es la forma correcta de extender InCallService por una aplicación de terceros, que reemplazará el marcador predeterminado del sistema y InCallScreen después de que el usuario acepte el aviso al inicio.

También proporciona una aplicación de muestra en funcionamiento en Kotlin (puntos de bonificación).

Por favor, vota su respuesta allí, no merezco crédito por su trabajo.

Nota: solo funcionará para API 23+, y podría necesitar permisos adicionales en API 26


El intento ACTION_DIAL parece permitirle pasar un número para llamar al marcador estándar, listo para que el usuario lo llame, si así lo desean, entonces no es lo que necesita.

¿Tiene una pregunta específica o está buscando a alguien que le diga cómo implementar su aplicación que se llama cuando se presiona el botón de llamada de software / hardware?

Parece que necesitas ACTION_CALL_BUTTON - http://developer.android.com/reference/android/content/Intent.html#ACTION_CALL_BUTTON


Esto funcionó para mí:

<activity android:name=".activities.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <!-- open activity when establishing a call --> <intent-filter> <action android:name="android.intent.action.CALL_PRIVILEGED" /> <category android:name="android.intent.category.DEFAULT" /> <data android:scheme="tel" /> </intent-filter> </activity>