Android中实现短信发送的一种方式

SendSmsActivity.java:

package com.test.smsmangerdemo.sendsmsactivity;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.content.Intent;
import android.app.PendingIntent;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

/**
 *发送短信实例
 */

public class SendSmsActivity extends AppCompatActivity {
    EditText phone, content;
    Button send;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_send_sms);
        //获取 SMSManger管理器
        final SmsManager smsManager = SmsManager.getDefault();
        //初始化控件
        phone = (EditText) findViewById(R.id.et_phone);
        content = (EditText) findViewById(R.id.et_content);
        send = (Button) findViewById(R.id.btn_send);

        send.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                //创建一个 android.app.PendingIntent 对象
                PendingIntent pi = PendingIntent.getActivity(SendSmsActivity.this, 0, new Intent(), 0);

                //发送短信
                smsManager.sendTextMessage(phone.getText().toString(), null, content.getText().toString(),
                        pi, null);

                //提示短信发送完成
                Toast.makeText(SendSmsActivity.this, "短信发送完成", Toast.LENGTH_SHORT).show();
            }
        });
    }
}

AndroidMainfest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.test.smsmangerdemo.sendsmsactivity" >
    <uses-permission android:name="android.permission.SEND_SMS"/>
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme" >
        <activity android:name=".SendSmsActivity" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

activity_send_sms.xml:

<?xml version="1.0" encoding="utf-8"?>
 <LinearLayout
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:orientation="vertical"
tools:context="com.test.smsmangerdemo.sendsmsactivity.SendSmsActivity">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="收件人"/>

    <EditText
        android:id="@+id/et_phone"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"/>
</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp"
    android:orientation="horizontal">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="发送内容"/>

    <EditText
        android:id="@+id/et_content"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:gravity="top"
        android:lines="5"
        android:text="你好"/>
</LinearLayout>

<Button
    android:layout_gravity="center_horizontal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="发送"
    android:id="@+id/btn_send"
    />
</LinearLayout>

实现效果:

原文地址:https://www.cnblogs.com/jlutiger/p/8974690.html

时间: 2024-10-28 22:05:30

Android中实现短信发送的一种方式的相关文章

Java中实现短信发送

最近跟着做公司的项目偶然接触到的,顺势把这个给记录下来,给自己梳理一下. 采用引入第三方工具的方式,网上查了半天,发现简单的实现方式便是注册一个中国网建的账号,新建账号的时候会附带赠几条免费短信,彩信 ,之后想要在使用就得花钱了.简单的操作流程如下. 网建的链接如下: http://www.smschinese.cn/api.shtml 手机号注册登陆成功之后页面如下: 如上页面可以看到我们之前发送的短息信息以及相关的剩余短信条数. 我们可以参考它那边提供的API接口文档,接入jar包,利用自己

laravel中实现短信发送验证码

前段时间想实现一个短信验证码的功能,但是卡了很长时间. 首先我用的是阿里云的短信服务业务,其首次接入流程如下: 在阿里云上开通短信服务后需要做的: 1,申请签名  2,申请模板   3,创建Accesskey ,值得说的是,可以通过阿里云提供的子用户进行Accesskey的创建,这样可以更安全  4,充值 laravel有很多的进行短信业务的扩展包,之前我用的是阿里大于,使用如下: 1,从终端或者命令进入您的项,运行:composer require iscms/alisms-for-larav

Android 短信拦截的2种方式

第一种是通过BroadcastReciver <uses-permission android:name="android.permission.RECEIVE_SMS"/> <!-- 拦截短信(就是接受短些的权限) -->   <receiver android:name="com.demo.artshell.broadcastreceiverdemo.InterceptReceiver">  <!-- 这里没有设置and

android 中管理短信

为了看代码方便,一边在网上google资料,一边看Android java 源代码. 偶然发现了一个类MmsSmsDatabaseHelper.java,原来android将所有的短信信息都存入了mmssms.db中. 公开的SDK中没有这个类,不能直接使用.于是自己写了一个SQLiteOpenHelper,但是查询的时候发生SQL异常. 看来不能为所欲为了,不过据网上资料介绍可以拷贝db文件来实现短信数据备份. 既然每个db跟package名相关,建立了一个package为com.androi

Android中读取短信信息

Android中读取的短信文件有 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 /**  * 所有的短信  */ public static final String SMS_URI_ALL = "content://sms/"; /**  * 收件箱短信  */ public static final String SMS_URI_INBOX = "content://sms/inbox"; /**  * 发件箱短信  */ p

Android中 备份短信 还原短信

备份短信 读取手机里的短信,备份成xml文件保存到SD卡上. xml文件就只有一个button控件,就不再给出xml代码了. import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import org.xmlpull.v1.XmlSerializer; import android.app.Activity; i

android中activity之间传递数据的3种方式

在android开发中总是需要不停的传递数据,特别是不同的Activity之间.在这里小编介绍自己所知的3种Activity的跳转方式. 第一种:静态传递数据 直接上部分代码:在第一个Activity中 Intent intent = new Intent(); intent.setClass(MainActivity.this,SecondActivity.class); SecondActivity.usrname = "jack"; SecondActivity.password

android手机短信发送

刚学android不久,最近卫卫发给我了一个视频,是怎样制作android手机上的短信发送器,一方面我感觉很有意思,另一方可以陪着她一起,今天弄完了,特来总结一下,虽然说比较简单吧,但还是有总结的必要的. 短信发送器主要是用于android下的短信发送的,其主要的界面就是输入发送母的人的号码和要发的信息的内容,主要界面有两个TextView和两个EditText还有一个Button(在import android.widget.*),下面是布局文件(layout): <?xml version=

如何使用 ATK-SIM900A 模块进行中英文的短信发送

常见的at指令集 AT+CNMI,用于设置新消息指示.发送:AT+CNMI=2,1,设置新消息提示,当收到新 消息,且 SIM 卡未满的时候,SIM900A 模块会返回数据给串口,如:+CMTI: "SM",2,表 示收到接收到新消息,存储在 SIM 卡的位置 2. AT+CMGF,用于设置短消息模式,SIM900A 支持 PDU 模式和文本(TEXT)模式等 2 种模式,发送:AT+CMGF=1,即可设置为文本模式. AT+CSCS,用于设置 TE 字符集,默认的为 GSM 7 位缺