Mark Mark - 1 year ago 96
Android Question

BroadcastReceiver + SMS_RECEIVED

I'd like my app to catch incoming SMS messages. There are a few examples of this around. Looks like we just need to do this:

// AndroidManifest.xml
<receiver android:name=".SMSReceiver">
<action android:name="android.provider.Telephony.SMS_RECEIVED" />

public class SMSReceiver extends BroadcastReceiver
public void onReceive(Context context, Intent intent) {
Log.i(TAG, "SMS received.");

is this correct? I'm sending my phone some sms messages, but the log statement never gets printed. I do have some other SMS applications installed on the phone, which display a popup when the sms is received - are they somehow blocking the intent from getting passed down to my app, they are just consuming it completely?


Answer Source

You would also need to specify a uses-permission in your manifest file:

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

The following tutorials should help:

React on incoming SMS
SMS messaging in Android

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download