简单实现android短信发送器

先看看效果图:

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="com.example.sendinfo.MainActivity" >

  <TextView
    android:id="@+id/tv_input_number"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:text="@string/place_input_number"
    android:textSize="20px" />

  <EditText

    android:id="@+id/et_number"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/tv_input_number"   
    android:inputType="phone" >

  </EditText>

  <TextView
    android:id="@+id/tv_input_content"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@id/et_number"

    android:text="请输入正文"
    android:textSize="20px"
    android:textColor="#ff2800" />

  <EditText
    android:lines="5"
    android:id="@+id/et_input_content"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true" 
    android:layout_below="@id/tv_input_content" 
    android:inputType="textMultiLine" />

  <Button
    android:id="@+id/bt_send"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@id/et_input_content"
    android:text="发送" />

</RelativeLayout>

MainActivity.java

package com.example.sendinfo;

import java.util.ArrayList;
import java.util.Iterator;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.telephony.SmsManager;
import android.text.TextUtils;
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 ActionBarActivity implements OnClickListener {

  //获取数据的对象
  private EditText et_number;
  private EditText et_content;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    et_number = (EditText) findViewById(R.id.et_number);
    et_content = (EditText) findViewById(R.id.et_input_content);

    Button bt_send = (Button) findViewById(R.id.bt_send);

    bt_send.setOnClickListener(this);


  }

  @Override
  public void onClick(View v) {
    switch (v.getId()) {
    case R.id.bt_send:

      //获取用户输入的数据
      String content = et_content.getText().toString().trim();
      String number = et_number.getText().toString().trim();

      if(TextUtils.isEmpty(content) || TextUtils.isEmpty(number)){
        Toast.makeText(this, "电话号码或者内容不能为空", Toast.LENGTH_SHORT).show();
        return;
      }else{       
        //发送短信API   :得到一个信息管理器 实例
        SmsManager smsManager = SmsManager.getDefault();

        //短信大于70字符时,则将短信拆分成多条发送
        ArrayList<String> contents = smsManager.divideMessage(content);

        for(String string : contents) {
          smsManager.sendTextMessage(number, null, string, null, null);
        }                
      }      
      break;

    default:
      break;
    }

  }


}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持菜鸟教程(cainiaojc.com)。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#cainiaojc.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。