activity_main.xml:
<RelativeLayout 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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:id="@+id/tv_input"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="@string/phone_num"
android:textAppearance="?android:attr/textAppearanceLarge" />
<!-- android:singleLine="true" 电话号码只有一行 -->
<EditText
android:id="@+id/text_phone"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/tv_input"
android:layout_below="@+id/tv_input"
android:inputType="phone"
android:singleLine="true" >
<requestFocus />
</EditText>
<!-- 设置字体的颜色 -->
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/text_phone"
android:layout_below="@+id/text_phone"
android:layout_marginTop="29dp"
android:text="@string/message_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#00ff80" />
<!-- android:lines="5" 短信内容有5行 -->
<EditText
android:id="@+id/text_content"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignRight="@+id/text_phone"
android:layout_below="@id/textView2"
android:inputType="textMultiLine"
android:lines="5" />
<Button
android:id="@+id/bt_send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/text_content"
android:layout_marginTop="44dp"
android:layout_toRightOf="@id/textView2"
android:text="@string/send" />
</RelativeLayout>
MainActivity实现:
package com.mth.message;
import java.util.ArrayList;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import android.app.Activity;
/**
* 说明:本程序是编写一个短信发送器
*
*
*/
public class MainActivity extends Activity implements OnClickListener {
private Button bt_send; //发送按钮
private TextView text_phone;//电话号码文本
private TextView text_content;//短信内容文本
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 找到发送按钮
bt_send = (Button) findViewById(R.id.bt_send);
// 找到电话号码组件
text_phone = (TextView) findViewById(R.id.text_phone);
// 找到短信内容组件
text_content = (TextView) findViewById(R.id.text_content);
bt_send.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.bt_send:
// 获取电话号码
String phone_num = text_phone.getText().toString().trim();
// 获取短信内容
String content = text_content.getText().toString().trim();
/**
* 判断用户输入是否合法 给予相应的提示
*/
if (TextUtils.isEmpty(phone_num) || TextUtils.isEmpty(content)) {
//Toast是用来显示提示信息的
Toast toast = Toast.makeText(this, "电话号码或者短信内容不能为空!",
Toast.LENGTH_SHORT);
toast.show();
} else {
SmsManager mananger = SmsManager.getDefault();
//短信有最大长度 这样可以分成几条发出去
ArrayList<String> cons = mananger.divideMessage(content);
for (String str : cons) {
mananger.sendTextMessage(phone_num, null, str, null, null);
}
}
break;
default:
break;
}
}
}