首先在layout中创建一个布局文件activity_main.xml,activity_main.xml中的内容如下
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">
<!-- 对方手机号码输入框 -->
<EditText
android:id="@+id/et_phone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="phone"
android:hint="请输入对方号码" />
<!-- 短信内容输入框 -->
<EditText
android:id="@+id/et_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:lines ="5"
android:hint="请输入短信内容"
android:gravity="top" />
<!-- 短信发送按钮 -->
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="发送"
android:onClick="send" />
</LinearLayout>
layout的展示效果
然后在 MainActivity.java中添加下面的Java代码
package com.fyt.sendmessage;
import java.util.ArrayList;
import android.os.Bundle;
import android.app.Activity;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.EditText;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void send(View v) {
//获得手机号码输入框
EditText et_phone = (EditText) findViewById(R.id.et_phone);
//获得短信内容输入框
EditText et_content = (EditText) findViewById(R.id.et_content);
//获得用户输入的手机号码
String phone = et_phone.getText().toString();
//获得用户输入的短信内容
String content = et_content.getText().toString();
//获得短信管理器
SmsManager sm = SmsManager.getDefault();
//切割短信,把长短信切割成若干个小短信
ArrayList<String> smss = sm.divideMessage(content);
//使用增强for将集合中的所有短信都发出去
for(String string : smss)
{
/**
*发送短信
* 第一个参数:对方的手机号码
* 第二个参数:短信服务中心的地址
* 第三个参数:短信的内容
* 第四个参数:广播(用于判断短信是否发送成功)
* 第五个参数:广播(用于判断对方是否成功的收到了短信)
*/
sm.sendTextMessage(phone, null, string, null, null);
}
}
}
<uses-permission android:name="android.permission.SEND_SMS"/>
执行结果
向某个号码发送一条信息
对方收到了短信