先看看效果图:
布局文件:
activity_main.xml
<span style="font-family:Comic Sans MS;font-size:14px;"><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/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="17dp" android:text="请输入手机号码:" android:textSize="20dp" /> <EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textView1" android:layout_centerHorizontal="true" android:layout_marginTop="25dp" android:background="@android:drawable/editbox_dropdown_light_frame" android:ems="10" 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/textView1" android:layout_below="@+id/editText1" android:layout_marginTop="39dp" android:text="请输入短信的内容:" android:textSize="20dp" /> <EditText android:id="@+id/editText2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textView2" android:layout_centerHorizontal="true" android:layout_marginTop="49dp" android:background="@android:drawable/editbox_background" android:ems="10" android:hint="发送的内容..." android:inputType="textMultiLine" android:lines="5" /> <Button android:id="@+id/btn_send" android:layout_width="50dp" android:layout_height="30dp" android:layout_below="@+id/editText2" android:layout_centerHorizontal="true" android:layout_marginTop="30dp" android:background="@drawable/reply_send_button" /> </RelativeLayout></span>
Java代码:
<span style="font-family:Comic Sans MS;font-size:14px;">package com.bzu.gxs; import java.util.ArrayList; import android.os.Bundle; import android.app.Activity; import android.telephony.SmsManager; import android.text.TextUtils; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener { private EditText et_number; private EditText et_content; private Button btn_send; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et_number = (EditText) findViewById(R.id.editText1); et_content = (EditText) findViewById(R.id.editText2); btn_send = (Button) findViewById(R.id.btn_send); btn_send.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn_send: // 获取手机号码 String number = et_number.getText().toString().trim(); // 获取短信内容 String content = et_content.getText().toString().trim(); // 判断手机和短信的内容是否为空 if (TextUtils.isEmpty(content) || TextUtils.isEmpty(number)) { Toast.makeText(MainActivity.this, "手机号 或 短信内容 为空 ...", Toast.LENGTH_LONG).show(); return; } else { SmsManager smsManger = SmsManager.getDefault(); // 把短信拆分成多个片段,防止短信内容过长,发送失败 ArrayList<String> contents = smsManger.divideMessage(content); // 遍历短信内容 for (String str : contents) { /* * smsManger.sendTextMessage(destinationAddress, scAddress, text, sentIntent, deliveryIntent) * sendTextMessage方法的 * 第一个参数是信息的接收者 * 第二个参数是短信来自于哪里,目前不支持填写null就可以 * 第三个参数短信发送的内容 * 第四个参数是判断短信是否发送成功 * 第五个参数是对面接收到你发的短信的一个消息报告 */ smsManger .sendTextMessage(number, null, content, null, null); Toast.makeText(MainActivity.this, "发送成功...", Toast.LENGTH_LONG).show(); } } break; } } } </span>
以上就是Android短信发送器的实现代码,希望能给大家一个参考,也希望大家多多支持脚本之家。