Android 发送短信

一、发送短信的方法

  • 使用 Intent 隐式调用系统短信应用进行发送
Uri uri = Uri.parse("smsto:10086");Intent it = new Intent(Intent.ACTION_SENDTO, uri);it.putExtra("sms_body", "Hello World!");startActivity(it);        
  • 使用 SmsManager 发送
  //获取SmsManagerSmsManager sms=SmsManager.getDefault();//如果内容大于70字,则拆分为多条List<String> texts=sms.divideMessage(“需要发送的短信内容!”);//逐条发送短信for(String text:texts) {sms.sendTextMessage(10086, null, text, null, null);}

 

二、发送短信Demo

1.界面布局

<?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"><EditTextandroid:id="@+id/ed_phone"android:layout_width="0dp"android:layout_height="wrap_content"android:ems="10"android:inputType="number"android:maxLength="11"android:hint="请输入手机号码"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><EditTextandroid:id="@+id/ed_content"android:layout_width="0dp"android:layout_height="wrap_content"android:hint="请输入需要发送的短信内容"android:inputType="textPersonName"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/ed_phone" /><Buttonandroid:id="@+id/button"android:layout_width="0dp"android:layout_height="wrap_content"android:text="发送短信"android:onClick="onClickSendSMSButton"android:textSize="18sp"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/ed_content" />
</androidx.constraintlayout.widget.ConstraintLayout>

 

2.MainActivity 代码如下

package com.daliang.demo_sms;import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;import java.util.List;public class MainActivity extends AppCompatActivity {private static final int SEND_SMS = 100;private EditText edContent;private EditText edPhone;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);edContent=findViewById(R.id.ed_content);edPhone=findViewById(R.id.ed_phone);}//点击了发送短信按钮public void onClickSendSMSButton(View view) {requestPermission();}//请求权限private void requestPermission() {//判断Android版本是否大于23if (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 {sendSMS();}} else {sendSMS();}}//权限请求回调结果@Overridepublic void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {switch (requestCode) {case SEND_SMS:if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {sendSMS();} else {Toast.makeText(this, "请求权限被拒绝!", Toast.LENGTH_SHORT).show();}break;default:super.onRequestPermissionsResult(requestCode, permissions, grantResults);}}//发送短信private void sendSMS(){String content=edContent.getText().toString().trim();String phone=edPhone.getText().toString().trim();if (content.isEmpty()||phone.isEmpty()) {Toast.makeText(this, "电话号码或短信内容不能为空!", Toast.LENGTH_LONG).show();return;}//获取SmsManagerSmsManager sms=SmsManager.getDefault();//如果内容大于70字,则拆分为多条List<String> texts=sms.divideMessage(content);//逐条发送短信for(String text:texts) {sms.sendTextMessage(phone, null, text, null, null);}Toast.makeText(this,"发送短信成功!",Toast.LENGTH_LONG).show();}}

3.需要在 AndroidManifesh.xml 中添加发送短信权限

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

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/43561.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

量化策略和level2行情数据股票市场需求大吗?

国内量化交易起步较晚&#xff0c;大约15年开始&#xff0c;20年开始爆发&#xff0c;21年量化私募规模飙升。由于容量过大&#xff0c;出现了一个头部量化私募中性策略导致大幅回调的问题。对于a股来说&#xff0c;量化交易仍然是一种相对较新的投资方式。自20年以来&#xff…

DFQ量化论文阅读

Data-Free Quantization Through Weight Equalization and Bias Correction 高通的训练后量化&#xff0c;提高性能 量化的不同水平 水平1&#xff1a;无需数据和反向传播 水平2&#xff1a;需要数据但不需要反向传播&#xff0c;例如IAO的校准 水平3&#xff1a;需要数据也…

【vn.py】量化策略历史回测(基于本地csv数据)

文章目录 写在前面获取数据csv数据导入历史回测写在后面REF 写在前面 策略研发之后&#xff0c;为了检测我们策略的效果&#xff0c;不可能一上来就接入实盘&#xff0c;所以需要的就是通过历史数据对我们的策略进行检验&#xff0c;也就是历史回测。vn.py也有推出历史回测的教…

「量化技术」Inv_Strategy 胜率76%的趋势反转策略

0 简介 Inv_Strategy为自研的趋势反转策略&#xff0c;能够有效识别到时间序列的趋势拐点&#xff0c;能辅助进行交易决策&#xff0c;规避风险、降低持仓成本。策略基于深度神经网络技术&#xff0c;利用前2个月的量价关系进行inference&#xff08;推理&#xff09;&#xf…

基于BigQuant的量化策略实现

文章目录 一、BigQuant的重要模块说明 1.回测模块 二、基于技术指标的策略实现 1.库函数导入与全局变量初始化 2.每日逻辑函数编写 策略1: MACD金叉MA多头买入 策略2: 利用MA指标进行择股 3.策略结果展示 策略1: MACD金叉MA多头买入 策略2: MA择股 三、基于QP优化的策略实现 …

【定量分析、量化金融与统计学】纵向数据分析(1)——截面数据、时间序列数据和纵向数据

一、截面数据&#xff08;Cross-sectional Data&#xff09; 截面数据就是固定时间来分析其他变量同一时间内的关系。 例如&#xff1a;比较2022年的全国20个省市的GDP与人口&#xff0c;那么我们就是限定了2022年&#xff0c;去找GDP和人口的可能关系。 再例如&#xff1a;…

gdp数据分析

1 概述 本文主要分析china,usa,king,japan,russia5个国家的gdp&#xff0c;时间从1800-2040&#xff0c;后面的数据为预测数据&#xff0c;不准确。 2 绘制折线图 import pandas as pd import matplotlib.pyplot as pltdata pd.read_csv("line_animation.csv") x…

Python量化策略入门1-如何利用聚宽(JoinQuant)下载金融数据

[TOC]量化策略入门1-如何利用聚宽(JoinQuant)下载金融数据 前言 量化策略入门系列文章是本人学习股票量化笔记&#xff0c;最终输出结果希望是一个可在本地运行的回测框架&#xff0c;包含数据获取&#xff0c;数据处理&#xff0c;策略回测等。 本文主要为了介绍如何利用聚…

金 融 量 化 分 析 • 外 篇 • 绘 制 行 情 数 据 数 据 图

文章目录 前言一、k 线 图 是 什 么 &#xff1f;二、K 线 图 结 构&#xff08;1&#xff09; 影 线 和 实 体&#xff08;2&#xff09; 十 字 线 四、 双 均 线 策 略&#xff08;一&#xff09;、金叉&#xff08;二&#xff09;、死叉&#xff08;三&#xff09;、均 线 策…

老板,摊牌了,不装了,pyechart高端实现我国GDP大数据图

pyechart实现我国GDP大屏展示图 from typing import Listimport pyecharts.options as opts from pyecharts.globals import ThemeType from pyecharts.commons.utils import JsCode from pyecharts.charts import Timeline, Grid, Bar, Map, Pie, Linedata [{"time"…

将《2020中国统计年鉴》中的GDP数据换算成不变GDP数据

文章目录 前言一、数据来源二、计算步骤1.理解一下公式和不同的指数国内生产总值指数&#xff08;上一年100&#xff09;国内生产总值指数&#xff08;1978年100&#xff09;现价GDP: 即当年价GDP&#xff0c;也叫名义GDP&#xff0c;包含价格浮动因素&#xff0c;不可比不变价…

【qstock量化】数据篇之宏观指标和财经新闻文本

qstock简介 qstock由“Python金融量化”公众号开发&#xff0c;试图打造成个人量化投研分析开源库&#xff0c;目前包括数据获取&#xff08;data&#xff09;、可视化(plot)、选股(stock)和量化回测&#xff08;backtest&#xff09;四个模块。其中数据模块&#xff08;data&a…

使用Postman模拟发送get、post、delete、put请求

使用Postman模拟发送get、post、delete、put请求 现在的模拟发送请求插件很多&#xff0c;包括在idea上都自带了Test restful web service来模拟请求&#xff0c;但亲测postman更好用一些 今天来分享如何使用postman发送各种请求 1.下载 postman是谷歌的一款插件&#xff0…

使用hutool发送POST请求

之前使用Java程序发送请求都是使用的HttpURLConnection&#xff0c;不太方便&#xff0c;可以使用hutool封装好的方法。 引入依赖 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.0.M4</…

10小时训练数据打造多语种语音识别新高度

本文联合撰写&#xff1a; 腾讯&#xff1a;吕志强&#xff0c;颜京豪&#xff0c;胡鹏飞&#xff0c;康健&#xff0c;阿敏巴雅尔 导语&#xff5c;在刚刚结束的NIST OPENASR评测中&#xff0c;TEG AI语音联合清华大学&#xff0c;刷新世界小语种语音识别比赛6项第一。从2000年…

Python开发智能语音机器人——小O同学

本篇代码存在部分错误 &#xff0c;现已经更新 &#xff08;https://blog.csdn.net/aqqwvfbukn/article/details/131277668&#xff09; 这次项目开发能按部就班顺利完成&#xff0c;主要是靠队友成功在软件的前期设计阶段&#xff0c;需求分析和用例设计起到了重要的作用。当…

微信小程序实现图林机器人聊天和百度AI语音识别的简单人工客服

用微信小程序实现简单的人工客服 最近在做软件工程的课程设计&#xff0c;选择性的做了微信小程序的简单的人工客服。在这里对该课程设计的原理和实现进行一个讲解&#xff0c;也算做一个总结和笔记&#xff0c;方便自己以后查看、复习和帮助大家的学习。 工具&#xff1a;微信…

Python实现语音识别(基于百度语音识别)

我是一名2016级电子信息工程的学生&#xff0c;这是第一次发博客&#xff0c;因为经常在这里查资料 &#xff0c;自己也应该贡献一点经验吧&#xff0c;也可以当是记录自己学习的过程吧。 最近在自学python&#xff0c;然后18年9月份正好python加入计算机二级&#xff0c;再然…

玩转百度语音识别,就是这么简单

http://www.cnblogs.com/bigdataZJ/p/SpeechRecognition.html 明后两天就是公司一年一度的Fedex Day了。我的理解就是技术界的头脑风暴&#xff0c;idea喷如泉涌的盛大节日。 对于这次活动每个人或者两三个人一组需要有个idea&#xff0c;针对当前的产品现状&#xff0c;提出自…

语音-小度自定义技能

文章目录 前言一、学习简介二、代码快速开发三、官网配置3.1 百度云CFC配置3.2 小度官网配置 四、测试4.1连接技能4.2 意图测试4.3 断开技能 前言 主要是为了记录下学习小度自定义技能的过程 一、学习简介 参考官网解释 自定义技能简介 二、代码快速开发 快速开发java 我…