我想开发一个短信应用程序,它在收到短信时用自定义文本发送自动短信到“短信发送者”。 首先,我创建了广播接收器类在android中发送自动短信

public class MyBroadCastReceiver extends BroadcastReceiver {

private final String MSG_BODY="Thank you for contact we will contact u later";

final int MAX_SMS_MESSAGE_LENGTH=160;

@Override

public void onReceive(Context context, Intent intent) {

if(intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED"))

{

Bundle bundle = intent.getExtras(); //---get the SMS message passed in---

SmsMessage[] msgs = null;

String msg_from;

if (bundle != null){

//---retrieve the SMS message received---

try {

Object[] pdus = (Object[]) bundle.get("pdus");

msgs = new SmsMessage[pdus.length];

for(int i=0; i

msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);

msg_from = msgs[i].getOriginatingAddress();

}

Toast.makeText(context, "SMS sent",

Toast.LENGTH_SHORT).show();

//String msgBody = msgs[i].getMessageBody();

msg_from = msgs[0].getOriginatingAddress();

sendSms(msg_from,MSG_BODY);

}

catch(Exception e){Log.d("Exception caught",e.getMessage());}

}

}

}

private void sendSms(String phonenumber,String message)

{

SmsManager manager = SmsManager.getDefault();

int length = message.length();

if(length > MAX_SMS_MESSAGE_LENGTH)

{

ArrayList messagelist = manager.divideMessage(message);

manager.sendMultipartTextMessage(phonenumber, null, messagelist, null, null);

}

else

{

manager.sendTextMessage(phonenumber, null, message, null, null);

}

}

}

而且清单文件是

package="com.myapp"

android:versionCode="1"

android:versionName="1.0">

android:name="com.myapp.MyBroadCastReceiver">

android:label="@string/app_name">

它什么都不做只显示我的主要活动。 帮助我,我错了。

2011-10-03

Sunny

+0

嗯,我再次运行它,它工作一流。 –

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐