Prueba "real" del receptor de sms

Tengo un SmsReceiver que me gustaría probar de verdad en un dispositivo, sin embargo no estoy dispuesto a enviar un montón de sms reales a mi dispositivo que apila mis facturas de teléfono 😉

Así que pensé que debía ser capaz de patear de una intent con la acción RECEIVED_SMS , los datos sms y todas las otras cosas necesarias para enviar un sms. Después de un recorrido rápido en Google terminé aquí: http://blog.dev001.net/post/14085892020/android-generate-incoming-sms-from-within-your-app . Tomé algunas ideas de este post y hice mi astuta aplicación android para crear y "enviar" sms en el dispositivo con fines de prueba, y debo decir que funcionó como un encanto, salvo que mis receptores onReceive no se invoca, Sms sólo va directamente a la bandeja de entrada. Sé que mi receptor funciona, si envío un sms real a mi dispositivo que dispara, y si envío un sms de DDMS a un emulador también dispara, por lo que debería estar bien.

¿Así que hay permissions , algunos Intent.putExtras u otras cosas que echo de menos? Cualquier sugerencia es muy útil y si se puede conseguir que esto funcione me ayudaría mucho en las pruebas y el desarrollo de mi aplicación.

Mi receptor en manifiesto:

 <receiver android:name=".SmsReceiver"> <intent-filter android:priority="1000"> <action android:name="android.provider.Telephony.SMS_RECEIVED"/> </intent-filter> </receiver> 

Permisos en el manifiesto (solicitud de recepción):

 <uses-permission android:name="android.permission.CALL_PHONE" /> <uses-permission android:name="android.permission.RECEIVE_SMS" /> <uses-permission android:name="android.permission.WRITE_SMS" /> <uses-permission android:name="android.permission.READ_SMS" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> 

Permisos en el manifiesto (aplicación de envío):

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

Debe también mencionar que no se muestran errores en LogCat o en la consola.

Así es como se ve mi receptor en el manifiesto:

 <receiver android:name="com.mike.broadcastexample.BroadcastReceiverClass" android:exported="true" > <intent-filter android:priority="999" > <action android:name="android.provider.Telephony.SMS_RECEIVED" /> </intent-filter> </receiver> 

Lo único que estoy haciendo extra es que he configurado el android: prioridad a 999 y añadido android: exportado = "true"

Éstos eran los únicos permisos que usé para la aplicación:

  <uses-permission android:name="android.permission.WRITE_SMS" /> <uses-permission android:name="android.permission.READ_SMS" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.SEND_SMS" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.RECEIVE_SMS" /> 

Yo estaba teniendo el mismo problema con mi aplicación también y fue HTC ONE que tiene Android 4.3, pero después de hacer algunos cambiado a este receptor, su trabajo absolutamente perfecto.

Usted puede darle una oportunidad también.

Utilice la siguiente declaración de receptor también asegúrese de que su SMsReceiver existe en el paquete principal o bien proporcionar la ruta completa " * path / SmsReceiver *" aquí path significa la ruta completa del paquete.

  <receiver android:name=".SmsReceiver" android:exported="true" android:permission="android.permission.BROADCAST_SMS" > <intent-filter android:priority="5822" > <action android:name="android.provider.Telephony.SMS_RECEIVED" /> </intent-filter> </receiver> 

También todos los permisos parece estar bien, sólo si su envío de SMS también, sólo incluyen

 <uses-permission android:name="android.permission.SEND_SMS" /> 
  • Detección de SMS entrantes y salientes
  • SMS de confirmación no deseados enviados por el proveedor en Austria
  • Sms de prueba de Android del emulador
  • Registro de SMS como en la aplicación para móviles: whatsapp
  • Android y Google Voice: escuchando mensajes SMS entrantes
  • Receptor de radiodifusión dentro de un servicio
  • Cómo detectar la conversación SMS de grupo
  • Cómo averiguar qué SIM recibió SMS en Dual SIM Android Device
  • Android: comparte texto sin formato con la intención (para todas las aplicaciones de mensajería)
  • La forma más rápida y rápida de obtener nuevos mensajes sms al iniciar la aplicación - Android
  • Twilio vs google voz api para SMS
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.