首选在AndroidManifest.xml 申请权限

 

SMSActivity.java
package com.example.a20200712;import android.Manifest;import android.content.pm.PackageManager;import android.os.Build;import android.os.Bundle;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 androidx.annotation.Nullable;import androidx.appcompat.app.AppCompatActivity;import androidx.core.app.ActivityCompat;import androidx.core.content.ContextCompat;import java.util.ArrayList;public class SMSActivity extends AppCompatActivity {    private static final int SEND_SMS = 100;    private EditText sms_layout_content;    private EditText sms_layout_number;    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.sms_layout);        sms_layout_number = findViewById(R.id.sms_layout_number);        sms_layout_content = findViewById(R.id.sms_layout_content);    }    public void sendBtn(View view) {        //判断Android版本是否大于23        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {            int checkCallPhonePermission = ContextCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE);            if (checkCallPhonePermission != PackageManager.PERMISSION_GRANTED) {                ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.SEND_SMS}, SEND_SMS);                return;            } else {                sendSMSS();                //已有权限            }        } else {            //API 版本在23以下        }    }    /**     * 注册权限申请回调     *     * @param requestCode  申请码     * @param permissions  申请的权限     * @param grantResults 结果     */    @Override    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {        switch (requestCode) {            case SEND_SMS:                if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {                    sendSMSS();                } else {                    // Permission Denied                    Toast.makeText(SMSActivity.this, "CALL_PHONE Denied", Toast.LENGTH_SHORT).show();                }                break;            default:                super.onRequestPermissionsResult(requestCode, permissions, grantResults);        }    }    //发送短信    private void sendSMSS() {        String content = sms_layout_content.getText().toString().trim();        String phone = sms_layout_number.getText().toString().trim();        if (!TextUtils.isEmpty(content) && !TextUtils.isEmpty(phone)) {            SmsManager manager = SmsManager.getDefault();            ArrayList strings = manager.divideMessage(content);            for (int i = 0; i < strings.size(); i++) {                manager.sendTextMessage(phone, null, content, null, null);            }            Toast.makeText(SMSActivity.this, "发送成功", Toast.LENGTH_SHORT).show();        } else {            Toast.makeText(this, "手机号或内容不能为空", Toast.LENGTH_SHORT).show();        }    }}

sms_layout.xml

<?xml version="1.0" encoding="utf-8"?>                    

 

android应用发短信_第1张图片

更多相关文章

  1. Android手机号、串号获取
  2. Android系统版本和API等级(level)对照表
  3. android 文档民间翻译版本
  4. 【转】Android SDK版本与API Level对照表
  5. MTK Android P(9.0) userdebug版本执行adb remount失败
  6. Android 发布版本不输出Log
  7. android:动态获取权限

随机推荐

  1. Android(安卓)学习笔记
  2. -Android(安卓)Studio 快捷键整理分享-Sa
  3. Android应用程序组件Content Provider的
  4. Android(安卓)打开系统设置
  5. android:name 的秘密
  6. WiFi流程
  7. android studio怎么生成HttpClient????
  8. Android(安卓)Sudio 如何获取SHA1(开发版
  9. Android(安卓)中解析JSON形式的数据
  10. android 学习笔记3--静默安装功能的实现