1、首先创建Android项目
Activity代码如下:
package com.cyh.sms;
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
private EditText number;
private EditText message;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//获取电话号码
number = (EditText)this.findViewById(R.id.number);
//获取短信内容
message = (EditText)this.findViewById(R.id.message);
//获取发送按钮
Button button = (Button)this.findViewById(R.id.button);
//发送按钮注册点击事件
button.setOnClickListener(new ButtonClickListener());
}
//button点击响应事件
private final class ButtonClickListener implements View.OnClickListener{
@Override
public void onClick(View v) {
String tel = number.getText().toString();
String sms = message.getText().toString();
SmsManager manager = SmsManager.getDefault();
//对消息内容进行拆分(因为短信发送字数是有限制的)
ArrayList<String> smss = manager.divideMessage(sms);
/**
* 第一个参数,目的地址
* 第二个参数,短信中心号码,null为使用默认的
* 第三个参数,短信内容
* 第四个参数,用于得到发送的状态
* 第五个参数,得到对方是否收到短信
*/
for(String text:smss){
manager.sendTextMessage(tel, null, text, null, null);
}
Toast.makeText(getApplicationContext(), R.string.success, Toast.LENGTH_LONG).show();
}
}
}
strings.xml代码如下:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, MainActivity!</string> <string name="app_name">短信发送器</string> <string name="number">请输入手机号码</string> <string name="message">请输入短信内容</string> <string name="button">发送短信</string> <string name="success">短信发送成功</string> </resources>
main.xml代码如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:layout_width="100px" android:layout_height="wrap_content" android:text="@string/number" android:id="@+id/numberlable" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/number" android:layout_toRightOf="@id/numberlable" android:layout_alignTop="@id/numberlable" android:layout_marginLeft="5px" /> </RelativeLayout> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/message" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:minLines="3" android:id="@+id/message" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button" android:id="@+id/button" /> </LinearLayout>
AndroidManifest.xml代码如下:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.cyh.sms" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="8" /> <!-- 使用发送短消息权限 --> <uses-permission android:name="android.permission.SEND_SMS"/> </manifest>