您的位置:首页 > 移动开发 > Android开发

android_广播者_监听短信

2016-03-18 01:51 525 查看

监听短信

第一步:写一个类继承BroadcastReceiver

public class SmsReceiver extends BroadcastReceiver {

private static final String TAG = "SmsReceiver";

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

//下面这段代码,是用来获取短信的内容.
Object[] messages = (Object[]) intent.getSerializableExtra("pdus");
for (int i = 0; i < messages.length; i++) {
byte[] pdus = (byte[]) messages[i];
SmsMessage msg = SmsMessage.createFromPdu(pdus);
Log.d(TAG, "收到一条来自:"+msg.getOriginatingAddress()+"的短信,短信的内容是:"+msg.getMessageBody());
}
}
}


第二步:在清单文件里面注册一下

<receiver android:name="com.itheima.sms.SmsReceiver">
<!--短信的发送是一个有序的广播,既然说是有序的,自然会有先后顺序,
这个顺序的,就是使用android:priority=""来指定,
优先级别最高是1000,最低是-1000
-->
<intent-filter android:priority="1000">
<!--第三步:设置需要监听的广播.
但是在这里需要特别说明一下:
在监听短信的时候,里面的意图过滤的的android:name=” android.provider.Telephony.SMS_RECEIVED”,使用快捷键,是生成不出来的,因为谷歌为了防止,别人乱拿信息,但是可以去源代码中找到-->

<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
</intent-filter>
</receiver>


第四步:获取权限

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