Android基础开发小案例之短信发送器

先看看效果图:

布局文件:
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短信发送器的实现代码,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Android开发之电话拨号器和短信发送器实现方法

    本文实例讲述了Android开发之电话拨号器和短信发送器实现方法.分享给大家供大家参考,具体如下: 电话拨号器 实现原理:用户输入电话号码,当点击拨打的时候,由监听对象捕获,监听对象通过文本控件获取到用户输入的电话号码,由于系统已经实现了电话拨号功能,所以我们只需要调用这个功能就可以了. 步骤: 1.界面布局 2.编写Activity 3.使用意图过滤器激活电话拨号功能 4.添加电话服务权限(用手机的电话服务,要在清单文件AndroidManifest.xml中添加电话服务权限) 如图所示这三个

  • Android实现短信加密功能(发送加密短信、解密本地短信)

    短信加密此类功能由于新手学习的需求量较小,所以在网上很少有一些简单的demo供新手参考.小编做到此处也是花了比较多的时间自我构思,具体的过程也是不过多描述了,讲一下demo的内容. demo功能: 1.可以发送短信并且加密(通过改变string中的char) 2.能够查看手机中的短信 3.能够给收到的加密短信解密. 涉及到的知识点: 1.intent bundle传递 2.ContentResolver获取手机短信 3.listveiw与simpleAdapter 4.发送短信以及为发送短信设置

  • Android实现将已发送的短信写入短信数据库的方法

    短信是手机常见的功能,本文就以实例形式讲述了Android实现将已发送的短信写入短信数据库的方法.分享给大家供大家参考之用.具体如下: 一般来说,把短信发送出去以后,需要把已发送的短信写入短信数据库.短信数据库有多个Uri,其中已发送的Uri是content://sms/sent. 具体功能代码如下: // 把短信写入数据库 public void writeMsg(){ try{ ContentValues values = new ContentValues(); // 发送时间 value

  • android中可以通过两种方式调用接口发送短信

    第一:调用系统短信接口直接发送短信:主要代码如下: 复制代码 代码如下: //直接调用短信接口发短信 SmsManager smsManager = SmsManager.getDefault(); List<String> divideContents = smsManager.divideMessage(content); for (String text : divideContents) { smsManager.sendTextMessage("150xxxxxxxx&qu

  • Android实战教程第四篇之简单实现短信发送器

    本文实例为大家分享了Android发短信功能的实现方法,供大家参考,具体内容如下 首先配置一个布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_

  • Android Mms之:短信发送流程(图文详解)

    信息的发送,对于Mms应用程序来讲主要就是在信息数据库中创建并维护一条信息记录,真正的发送过程交由底层(Frameworks层)函数来处理. 总体的来讲,当信息创建完成后,对于信息通常有三个去处,一个是放弃这个信息,也就是用户不想要此信息,一旦选择,信息将不会被保存:第二个去处就是保存为草稿:最后一个去处就是发送此信息. 当点击了发送后,UI层暂不会有变化,UI层要监听负责发送的各个类的回调信息和数据库的变化信息来更新UI.信息发送的第一站是WorkingMessage,它会先处理一下信息的相关

  • Android实现发送短信功能实例详解

    本文实例分析了Android实现发送短信功能的方法.分享给大家供大家参考,具体如下: 短信和打电话一样,都是android手机的基本功能,下面以实例说明android如何实现发送短信的功能. 程序如下所示: import java.util.regex.Matcher; import java.util.regex.Pattern; import android.app.Activity; import android.app.PendingIntent; import android.cont

  • Android短信发送器实现方法

    本文实例讲述了Android短信发送器实现方法.分享给大家供大家参考.具体如下: 这里模拟android短信发送器的实现 AndroidManifest.xml清单文件: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ljq.

  • 简单实现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_pare

  • Android发送短信功能代码

    本文实例讲述了Android发送短信功能代码,是进行Android程序开发中非常常见的重要功能.分享给大家供大家参考之用.具体方法如下: // 发送短信 public void sendMsg(){ String content = edtSend.getText().toString(); SmsManager smsManager = SmsManager.getDefault(); List<String> divideContents = smsManager.divideMessag

随机推荐