package com.example.administrator.mobilesafe.BroadRecastReceiver;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.SmsMessage;
import com.example.administrator.mobilesafe.ConstantValue;
import com.example.administrator.mobilesafe.Utils.SpUtil;
/**
* Created by Administrator on 2017/9/20.
*/
//SmsMessage类是用来创建短信的,也只管创建,比如设置短信内容,计算短信长度。 SmsManager类是用来发送短信的。
public class SmsReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//1 首先判断是否开启了防盗保护
boolean open_security = SpUtil.getBoolean(context, ConstantValue.OPEN_SECURITY,false);
if (open_security){
//2 获取短信内容
//获得短信所在的对象数组(object类型) 有时字打多了短信会以多条发送
Object []objects = (Object[]) intent.getExtras().get("puds");
// 3在这多条短信中循环遍历 找需要的内容
for(Object object:objects){
// 4获得短信对象 (可以通过数组转化为字节作为参数)
SmsMessage sms = SmsMessage.createFromPdu((byte[]) object);
// 5 获取短信对象的基本信息
// 获取发送短信人的电话号码
String nunberOfSender = sms.getOriginatingAddress();
//获得短信内容
String smsInfo = sms.getMessageBody();
// 判断是否包含播放音乐所需要的关键字
if(smsInfo.contains("#*alarm*#")){
// 播放音乐(MediaPlayer 可以播放)
}
}
}
}
}
/*
需求分析:
1 丢失手机收到短信(#*alerm*#)后需要去播放报警音乐
1 接受短信的时候会发送广播 对系统的广播进行监听
2 监听短信内容 如果内容中有#*alerm*#则播放报警音乐
*/
网友评论