2012-02-11 8 views
5

Recientemente, una pregunta aquí en SO me ha portado esto a mi atención. Android no tiene una API pública para escuchar los SMS entrantes. Solía ​​haber una acción android.provider.Telephony.SMS_RECEIVED, pero se ha eliminado de la API oficial e incluso si aún funciona, obviamente no es a prueba de futuro. No necesito esta función en este momento, pero puede que en el futuro, y me parece muy extraño que no está disponible debido a que:¿Por qué la API de Android no permite escuchar públicamente los SMS entrantes?

  1. Android siempre ha alentado la profunda personalización de cada pequeña parte del sistema (creo de tha lanzador, el marcador, la aplicación de contactos)
  2. Hay un montón de alternativas a la aplicación estándar de SMS que ya están en el mercado (por no mencionar los de los vendedores)

tal vez me estoy perdiendo algo o tal vez hay una razón técnica: admito que no sé cómo funcionan los SMS

+0

Ver: https://groups.google.com/d/topic/android-developers/8fL6RjZMOnk/discussion –

+0

Ese enlace no agrega ninguna información – Raffaele

+0

¿De qué versión de API se extrae? ¿Todavía funciona? – samwize

Respuesta

0

Creo que si configuró un IntentReceiver debería funcionar bien.

public class SMSListener extends IntentReceiver { 

    @Override 
    public void onReceiveIntent(Context context, Intent intent) { 
     SmsMessage[] messages = Telephony.Sms.Intents.getMessagesFromIntent(intent); 
    ... 
} 

asegúrese de que también incluyen el permiso
<uses-permission android:name="android.permission.RECEIVE_SMS" /> en su AndroidManifest.

Esto es todo lo que sé al respecto, pero quizás otros enlaces te ayuden.
Here's uno

Here's otra.

Además, aunque esto es un poco fuera de tema de su pregunta, aprendí lo que sé acerca de los SMS de Android desde this site, ¡así que tal vez pueda recoger algo de allí también!

¡Buena suerte y espero haber ayudado!

+0

Quizás no leyó mi pregunta cuidadosamente, pero estoy interesado en por qué este método no está en la documentación oficial/API . Ya sabía lo que sugirió, pero no es seguro usar algo eliminado del documento público del proveedor. – Raffaele

Cuestiones relacionadas