我是靠谱客的博主 迷你羽毛,最近开发中收集的这篇文章主要介绍Android发送短信,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

工程目录:
在这里插入图片描述
增加两行动态权限:

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

MainActivity

package com.example.demo_eleven;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;

import android.app.Activity;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {
    static String[] permissions={
            "android.permission.SEND_SMS",
            "android.permission.READ_PHONE_STATE"
    };

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

        List<String> list=new ArrayList<>();
        list.clear();
        for(int i=0;i<permissions.length;i++){
            if(ContextCompat.checkSelfPermission(this,permissions[i])!= PackageManager.PERMISSION_GRANTED){
                list.add(permissions[i]);
            }
        }
        if(list.isEmpty()){
            fun();
        }else{
            String[] needP=list.toArray(new String[list.size()]);
            ActivityCompat.requestPermissions(this,needP,1);
        }
    }
    void fun(){
        findViewById(R.id.button).setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {
                EditText et1=findViewById(R.id.et1);
                EditText et2=findViewById(R.id.et2);
                SmsManager smsManager=SmsManager.getDefault();
                List<String> list=smsManager.divideMessage(et2.getText().toString());
                for(String sms:list){
                    smsManager.sendTextMessage(et1.getText().toString(),null,sms,null,null);
                }
            }
        });
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        switch(requestCode){
            case 1:
                for(int i=0;i<grantResults.length;i++){
                    if(grantResults[i]!=PackageManager.PERMISSION_GRANTED){
                        Toast.makeText(this, "权限不足,功能无法全部实现!", Toast.LENGTH_SHORT).show();
                        finish();
                    }
                }
                fun();
        }
    }
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

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

            <TextView
                android:id="@+id/textView4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Tel:" />

            <EditText
                android:id="@+id/et1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:ems="10"
                android:inputType="textPersonName"
                android:text="" />
        </LinearLayout>

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

            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Message:" />

            <EditText
                android:id="@+id/et2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:width="340sp"
                android:ems="10"
                android:layout_weight="1"
                android:inputType="textPersonName"
                android:text="" />
        </LinearLayout>
        <Button
            android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="150sp"
            android:textAllCaps="false"
            android:text="Send" />
    </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

在这里插入图片描述

最后

以上就是迷你羽毛为你收集整理的Android发送短信的全部内容,希望文章能够帮你解决Android发送短信所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部