BroadCastReceiver是安卓四大组件之一,用法很简单,只需要按照以下几个步骤即可
1.创建一个类继承于BroadCastReceiver
2.在Manifest文件中注册监听
接下来以监听接收短信给大家举个例子,我就直接上代码了
第一步:创建一个类继承于BroadCastReceiver
<pre name="code" class="java">
public class SmsBroadcast extends BroadcastReceiver {
//当触发监听的时候会回调这个方法
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Toast.makeText(context, "有新短信了", 1).show();
Log.i("huang","有新短信了");
Object[] obj=(Object[]) intent.getExtras().get("pdus");
for(Object o:obj){
//得到一条短信
SmsMessage sms=SmsMessage.createFromPdu((byte[])o);
<span style="white-space:pre"> </span>//得到发送者的号码
String sendnumber=sms.getOriginatingAddress();
}
}
}
第二步,在Manifest文件中注册监听
<span style="font-size:18px;"><span style="font-size:18px;"> <!-- 短信广播 -->
<receiver android:name="com.example.mobilsafe.BroadcastReciver.SmsBroadcast">
<intent-filter android:priority="1000">
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver></span></span>
需要注意的是,记得加接收短信的权限
<span style="font-size:18px;"><!--发送接收的权限 -->
<uses-permission android:name="android.permission.RECEIVE_SMS" /></span>