情诗网 >情话短信 > 正文

短信发送器

来源:情诗网    2021-02-12    分类:情话短信

    <?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.example.sms.MainActivity">
    <EditText
        android:id="@+id/et_num"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入电话号码"/>

    <EditText
        android:id="@+id/et_sms"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入短信内容"/>

    <Button
        android:id="@+id/bt"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="发送"/>


    </LinearLayout>

    
    package com.example.sms;
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.telephony.SmsManager;
    import android.text.TextUtils;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
    import java.util.ArrayList; 
    public class MainActivity extends AppCompatActivity {
    private EditText mEt_num;
    private EditText mEt_sms;
    private Button mBt;

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

        //初始化控件
        mEt_num = (EditText) findViewById(R.id.et_num);
        mEt_sms = (EditText) findViewById(R.id.et_sms);
        mBt = (Button) findViewById(R.id.bt);


        mBt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //获取电话号码和短信内容

                String num = mEt_num.getText().toString().trim();
                String sms = mEt_sms.getText().toString().trim();

                if (TextUtils.isEmpty(num) || TextUtils.isEmpty(sms)) {
                    Toast.makeText(MainActivity.this, "电话号码或者短信内容不能为空!", Toast.LENGTH_SHORT).show();

                    //return后面也可以不带参数,结束方法的执行。
                    return;
                }

                // 通过 SmsManager 的静态方法获取对象。
                SmsManager smsManager = SmsManager.getDefault();

                // 短信长度超过一定的限制后需要切割成多条分批发送
                //一定要使用 SmsManager 对象提供的 divideMessage(String)方法切割。
                ArrayList<String> parts = smsManager.divideMessage(sms);

                //第一个参数 String 目标手机电话号码
                //第二个参数 String 短信中心号码,建议设置为 null,
                //使用 sim 卡提供的默认短信中心
                //第三个参数 ArrayList 短信内容
                //第四个参数 ArrayList<PendingIntent>> 短信发送后如果发送成功了,
                //那么回调该参数,通过延时意图和广播才能实现,这里设置为 null 即可
                //第五个参数 ArrayList<PendingIntent>> 短信发送后如果被对方收到了,
                //那么回调该参数。
                smsManager.sendMultipartTextMessage(num, null, parts, null, null);
                Toast.makeText(MainActivity.this, "发送成功!", Toast.LENGTH_SHORT).show();


            }
         });

     }
    }

      添加权限

            在 AndroidManifest.xml 中添加发送短信权限。
            <uses-permission android:name="android.permission.SEND_SMS"/>

热门文章