广播接收者,对接收短信进行监听,当手机接收到一条短信的时候,系统会
发出一条广播,被广播接收者接收。别忘了要将这个广播接收者注册
在onReceive方法中有一个参数intent,当拦截这条短信的时候,所有的短
信信息都会封装在这个intent中,我们可以通过这个intent来获取短信信息
短信封装的形式pdu
Object[] object = (Object[]) intent.getSerializableExtra("pdus");
一条短信就是一个SmsMessage对象,一个SmsMessage对象通过一个byte[]来
创建,一个byte[]数组就是一个object对象
Object[]
Object[0]: 存在的形式 byte[] 一条短信
Object[1]
Object[2]
Object[3]
所以Object[] 对应着一个byte[][]的二维数组
byte[][] pdus = new byte[object.length][];
pdus[i] = (byte[]) object[i];
SmsMessage message = SmsMessage.createFromPdu(pdus[i]);
获得来短信号码:
String oriAddress = msgs[i].getDisplayOriginatingAddress();
获得来短信的内容:
String body = msgs[i].getDisplayMessageBody();
完善:
将接收短信和发送短信改成后台操作,不在机子上有相关的显示
通过gps,发送的短信内容包含位置信息