android应用发短信
16lz
2021-12-04
首选在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 WiFi 开关代码
- Android(安卓)发送短信
- Android手机号、串号获取
- android WiFi 开关代码
- android 取手机号码
- Android(安卓)查看保存图片到相册
- android 获取手机联系人信息
- Android常用权限
- android:动态获取权限