No es bien documentados en el doc.
Puede encontrar información sobre AndDev
Éstos son algunos extractos:
- debe utilizar siguiente permiso, incluirla en su AndroidManifest
<uses-permission android:name="android.permission.RECEIVE_SMS" />
2 Usted no debe declarar un filtro de intención en su actividad para el mismo, pero filtrarla en un receptor, incluir seguir el manifiesto
<receiver android:name=".SMSReceiver"> <intent-filter> <action android:name="android.provider.Telephony.SMS_RECEIVED" /> </intent-filter> </receiver>
3 Cree una clase que amplíe android.content.IntentReceiver
y reemplazar el método onReceiveIntent de la clase escucha para la acción android.provider.Telephony.SMS_RECEIVED
no forma parte del SDK
heres algunos más extracto de código:
// @Override
public void onReceiveIntent(Context context, Intent intent) {
if (intent.getAction().equals(ACTION)) {
// if(message starts with SMStretcher recognize BYTE)
StringBuilder sb = new StringBuilder();
/* The SMS-Messages are 'hiding' within the extras of the Intent. */
Bundle bundle = intent.getExtras();
if (bundle != null) {
/* Get all messages contained in the Intent*/
SmsMessage[] messages =
Telephony.Sms.Intents.getMessagesFromIntent(intent);
/* Feed the StringBuilder with all Messages found. */
for (SmsMessage currentMessage : messages){
sb.append("Received compressed SMSnFrom: ");
/* Sender-Number */
sb.append(currentMessage.getDisplayOriginatingAddress());
sb.append("n----Message----n");
/* Actual Message-Content */
sb.append(currentMessage.getDisplayMessageBody());
}
}
/* Logger Debug-Output */
Log.i(LOG_TAG, "[SMSApp] onReceiveIntent: " + sb);
/* Show the Notification containing the Message. */
Toast.makeText(context, sb.toString(), Toast.LENGTH_LONG).show();
que tienen permisos –
Send_SMS, READ_SMS, WRITE_SMS, RECEIVE_SMS, BROADCAST_SMS –