In Android we can receive the incoming messages using broadcast receiver service. Using this we are able to read the new incoming messages even if the phone is in sleep.
SMS service:
SMS service:
public class SmsService extends BroadcastReceiver { public static final String SMS_BUNDLE = "pdus";
public SmsService () { } @Override public void onReceive(Context context, Intent intent) {
Bundle intentExtras = intent.getExtras();
String smsBody = "";
if (intentExtras != null) { Object[] sms = (Object[]) intentExtras.get(SMS_BUNDLE);
String smsMessageStr = "";
for (int i = 0; i < sms.length; ++i) { SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) sms[i]);
smsBody = smsMessage.getMessageBody().toString();
String address = smsMessage.getOriginatingAddress(); smsMessageStr += "SMS From: " + address + "\n";
smsMessageStr += smsBody + "\n"; } } Toast.makeText(context, smsMessageStr, Toast.LENGTH_SHORT).show(); } }
We need to add permissions in AndroidManifest.xml
<uses-permission android:name="android.permission.READ_SMS" /> <uses-permission android:name="android.permission.RECEIVE_SMS" />
No comments:
Post a Comment