Pregunta

Estoy tratando de enviar una transmisión para simular una llamada entrante. Agregué el permiso en el archivo androidmanifest.xml,

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

Cuando intento ejecutar el programa, el teléfono se reinicia (emulador también).

  Intent intent = new Intent();
    intent.setAction("android.intent.action.PHONE_STATE");
    intent.putExtra(TelephonyManager.EXTRA_STATE, TelephonyManager.CALL_STATE_RINGING);
    intent.putExtra("EXTRA_INCOMING_NUMBER", "923982398");
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    sendBroadcast(intent);
¿Fue útil?

Solución

Puede que me equivoque, ya que no puedo encontrar nada en los documentos, pero diría que no es posible 'falsificar' una transmisión de llamadas. Es casi seguro reservado como "solo sistema".

Piénselo: si las aplicaciones podrían hacer esto, puede simplemente dar como resultado una 'travesura' en lugar de cualquier cosa maliciosa, pero no es algo que me gustaría que sucediera en mi teléfono.

Cree su propia acción de 'timbre de teléfono' para usar con fines de prueba y haga que su locutorista lo escuche. Cuando llegue a lanzar la aplicación, simplemente cambie el filtro de intención del Broadcastreceiver para escuchar el real.

Otros consejos

Descargué algunas de las aplicaciones de llamadas falsas de Play Store y las probé. Descubrí que la aplicación plantea un evento que muestra la GUI pre-mencionada en la parte superior de la pantalla de bloqueo y agrega la entrada a los registros de llamadas utilizando el método Insertar de ContentResolver.

La aplicación no utiliza el mecanismo Inbuild llamado (transmisión). Simplemente falsifica la GUI en la pantalla y reproduce el tono de llamada/vibración predeterminado.

Según mi conocimiento, creo que no es posible fingir una transmisión de llamadas

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top