短信发送器

核心代码:
(1)SmsManager smsmanger = SmsManager.getDefault(); //获得默认的消息管理器
(2)ArrayList contents = smsmanger.divideMessage(content);//拆分长短信
(3)smsmanger.sendTextMessage(number, null, content, null, null); //发送短信

在AndroidManifest.xml中添加:

<uses-permission android:name="android.permission.SEND_SMS"/>

MainActivity.Java

package com.itheima.sms;

import java.util.ArrayList;

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;
import android.os.Bundle;



public class MainActivity extends ActionBarActivity implements OnClickListener {
private EditText et_number;
private EditText et_content;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        et_number = (EditText)findViewById(R.id.number);  
        et_content = (EditText)findViewById(R.id.content);
        Button bt_send = (Button)findViewById(R.id.send);
        bt_send.setOnClickListener(this);
    }


    public void onClick(View v) {
        switch(v.getId()){
            case R.id.send:
                 String content = et_content.getText().toString().trim();  // 获取短信内容
                 String number = et_number.getText().toString().trim();    // 获取手机号码
                 if(TextUtils.isEmpty(content)||TextUtils.isEmpty(content)){  // 判断手机和短信的内容是否为空
                     Toast.makeText(this,"电话号码或内容不能为空", 1).show();
                     return;
                 }else{
                     SmsManager smsmanger = SmsManager.getDefault();   //获得默认的消息管理器
                     ArrayList<String> contents = smsmanger.divideMessage(content);   // 把短信拆分成多个片段,防止短信内容过长,发送失败
                     for(String str:contents){      // 遍历短信内容
                     smsmanger.sendTextMessage(number, null, content, null, null);   //发送短信
           /* 第一个参数是信息的接收者 
           * 第二个参数是短信来自于哪里,目前不支持填写null就可以 
           * 第三个参数短信发送的内容 
           * 第四个参数是判断短信是否发送成功 
           * 第五个参数是对面接收到你发的短信的一个消息报告 
           */
                     Toast.makeText(this,"发送完毕",Toast.LENGTH_SHORT).show();   //创建一个Toast
                     }
                 }
               break;
        }
    }
}

界面布局

<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.itheima.sms.MainActivity" >


    <TextView
        android:id="@+id/tv_input_number"      //Ctrl+f  修改地址
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:text="@string/please_input_number"   //Ctrl+1  字符串国际化
        android:textSize="20px"/>   //字体大小

    <EditText
        android:id="@+id/number"             //Ctrl+f  修改地址
        android:layout_width="fill_parent"   
        android:layout_height="wrap_content"
        android:layout_below="@id/tv_input_number"

        android:inputType="phone" />



    <TextView
        android:id="@+id/please_input_content"         //Ctrl+f  修改地址
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/number"
        android:layout_marginTop="35dp"
        android:text="@string/please_input_content"        //Ctrl+1  字符串国际化
        android:textColor="#7D7DFF"   //字体颜色 同html   支持透明度#667D7DFF
        android:textSize="20px"/>    //字体大小


    <EditText
        android:lines="5"       
        android:id="@+id/content"          //Ctrl+f  修改地址
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/please_input_content"
        android:inputType="textMultiLine" />

    <Button
        android:id="@+id/send"            //Ctrl+f  修改地址
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@id/content"
        android:layout_below="@id/content"
        android:layout_marginTop="57dp"
        android:textColor="#FF0000"   //字体颜色 同html
        android:text="@string/send" />   //Ctrl+1  字符串国际化

</RelativeLayout>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值