广播中处理短信内容

package cn.com.jbit.receiver;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.telephony.SmsMessage;

public class SMSReceiver extends BroadcastReceiver {
	private static final String ACTION="android.provider.Telephony.SMS_RECEIVED";
	@Override
	public void onReceive(Context context, Intent intent) {
		//判断当前广播是否是系统接收短信后发出的广播Action
		if(intent.getAction().equals(ACTION)){
			Bundle bundle=intent.getExtras();
			if(bundle!=null&&bundle.size()>0){
				//获取短信内容
				Object[] pdus=(Object[])bundle.get("pdus");
				for(Object obj:pdus){
					//转化成SmsMessage对象
					SmsMessage message=SmsMessage.createFromPdu((byte[])obj);
					String content=message.getMessageBody();
					if(content.equalsIgnoreCase("ls -a *.mp3")){
						//发送短信
						//使用SmsManager类提供的静态方法getDefault()创建一个默认的SmsManager实例
						SmsManager manager=SmsManager.getDefault();
						//第一个参数是收信方的电话号码
						//第二个参数是短信服务中心号码
						//第三个参数是短信的内容
						//第四个参数是短信已发送的广播意图
						
						//第五个参数是短信对方已收到短信的广播意图						
						manager.sendTextMessage(message.getOriginatingAddress(), null,"Mp3List-/mnt/sdcard/1.mp3",null,null);
						//屏蔽广播在状态栏中进行提示
						abortBroadcast();
					}
				}
			}
		}
	}

}

猜你喜欢

转载自zdpeng.iteye.com/blog/1768064