我正在开发一款应用。我有跟踪特定单词的代码,即" position"在消息中。现在我想知道发件人的位置请帮忙 我的代码是
公共类SMSReceiver扩展BroadcastReceiver { final SmsManager sms = SmsManager.getDefault();
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")){
//retrieve a map of the extended data from the intent.
final Bundle bundle = intent.getExtras();
SmsMessage [] msgs = null;
String str = "";
try
{
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";
}
String replyPhone = msgs[0].getOriginatingAddress();
String request = msgs[0].getMessageBody().toString();
if(request.equals("position"))
{
this.abortBroadcast();
Intent i = new Intent(context, RingActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.putExtra("num", replyPhone);
i.putExtra("msg", request);
context.startActivity(i);
}
}
}catch(Exception e){
Log.e("MyReceiver", "Exception smsReceiver" +e);
}
}
}
}