I want to Send and receive sms from our App and sending get successful but receiving shows deprecation in SmsMessage Class of my code which is demonstrated by my websites on the web. So, I want a receive methodology for SMS receiving which is not deprecated. Please suggest me for the right solution.
Receiving Code:
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.gsm.SmsMessage;
import android.widget.Toast;
public class SmsReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
//---get the SMS message passed in---
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
String str = "";
if (bundle != null)
{
//---retrieve the SMS message received---
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i=0; i<msgs.length; i++){
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
str += "SMS from " + msgs[i].getOriginatingAddress();
str += " :";
str += msgs[i].getMessageBody().toString();
str += "\n";
}
//---display the new SMS message---
Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
}
}
}
import android.telephony.gsm.SmsMessage;
The above should be changed to:
import android.telephony.SmsMessage;
telephony.gsm.SmsMessage
was for when you had to specify between CDMA and GSM phones. Now you need not specify .gsm
or .cdma
, since Android got smarter - Reed 2012-04-06 03:11