1.有序广播与无序广播的区别:
有序广播:sendOrderBroadcast();来发送信息。而设置接收信息的快慢(通过设置优先级)。也可以消息是否能传播。
无序广播:sendBroadcast();或是sendStiky()发送信息。接收顺序不确定
2.发短信:
代码提示:
package com.zking.smsbroadcast;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.util.Log;
/**
* Created by Administrator on 2017/7/13 0013.
*/
public class SMS extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
if("android.provider.Telephony.SMS_RECEIVED".equals(intent.getAction())){
Log.i("test","收到短信了");
Bundle bundle=intent.getExtras();
Object object[]= (Object[]) bundle.get("pdus");//获取短信
//用来装着
SmsMessage smsMessage[]=new SmsMessage[object.length];
for (int i = 0; i < object.length; i++) {
smsMessage[i]=SmsMessage.createFromPdu((byte[])object[i]);
}
for (SmsMessage message : smsMessage) {
String address=message.getOriginatingAddress();
String body=message.getDisplayMessageBody();
Log.i("test","发件人:"+address+"\n\t内容:"+body);
}
}
}
}
xml配置:
权限设置:
<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
recevier配置:
<receiver android:name=".SMS">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED"></action>
</intent-filter>
</receiver>