通过查找发件人的android跟踪短信

时间:2014-09-02 09:29:12

标签: java android

我正在开发一款应用。我有跟踪特定单词的代码,即" 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);
                }


    }


}

}

0 个答案:

没有答案