First of all, not native english speaker.
I make my .java work with the default code... so it refreshme with the newest sms when they yet come...
But i want to USE them.. something like the following example:
public void onReceive(Context context, Intent intent) {
Bundle intentExtras = intent.getExtras();
if (intentExtras != null) {
Object[] sms = (Object[]) intentExtras.get(SMS_BUNDLE);
String smsMessageStr = "";
for (int i = 0; i < sms.length; ++i) {
String format = intentExtras.getString("format");
SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) sms[i], format);
String address = smsMessage.getOriginatingAddress();
String smsBody = smsMessage.getMessageBody().toString();
String case1 = "@#A";
String case2 = "@#*";
if(smsBody.matches(case1))
{
smsMessageStr += "De: " + address + "\n";
smsMessageStr += "Este mensaje es generado por el mensaje generico recibido,'@#A'" + "\n";
}
else if(smsBody.matches(case2))
{
smsMessageStr += "De: " + address + "\n";
smsMessageStr += "Este mensaje es generado por el mensaje generico recibido,'@#*'" + "\n";
}
else
{
smsMessageStr += "De: " + address + "\n";
smsMessageStr += smsBody + "\n";
}
}
if (MainActivity.active) {
MainActivity inst = MainActivity.instance();
inst.updateInbox(smsMessageStr);
} else {
Intent i = new Intent(context, MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
It is working perfect with the "if(smsBody.matches(case1))" if matches, but if i send a msg with the smsbody == case2, it just give me the "else" statement... making my else if useless...
Some information?
Aucun commentaire:
Enregistrer un commentaire