android短信接收处理和发送

关于短信接收处理方面,当前已经有一些app做的比较好了,比如发给手机发验证码验证的问题,很多app在手机接收到验证码后,不需要输入,就直接可以跳过验证界面,这就是用到了对接收到的短信的处理。至于短信的发送,也没什么好说的了。在此也只是附上一个小实例。

 

效果图:

 

 

MainActivity:

 

import android.app.Activity;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.telephony.SmsMessage;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;public class MainActivity extends Activity {private TextView sender;private TextView content;private IntentFilter receiveFilter;private MessageReceiver messageReceiver;private EditText to;private EditText msgInput;private Button send;private IntentFilter sendFilter;private SendStatusReceiver sendStatusReceiver;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);sender = (TextView) findViewById(R.id.sender);content = (TextView) findViewById(R.id.content);to = (EditText) findViewById(R.id.to);msgInput = (EditText) findViewById(R.id.msg_input);send = (Button) findViewById(R.id.send);//为接收短信设置要监听的广播receiveFilter = new IntentFilter();receiveFilter.addAction("android.provider.Telephony.SMS_RECEIVED");messageReceiver = new MessageReceiver();registerReceiver(messageReceiver, receiveFilter);//为发送短信设置要监听的广播sendFilter = new IntentFilter();sendFilter.addAction("SENT_SMS_ACTION");sendStatusReceiver = new SendStatusReceiver();registerReceiver(sendStatusReceiver, sendFilter);send.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {//发送短信//并使用sendTextMessage的第四个参数对短信的发送状态进行监控SmsManager smsManager = SmsManager.getDefault();Intent sentIntent = new Intent("SENT_SMS_ACTION");PendingIntent pi = PendingIntent.getBroadcast(MainActivity.this, 0, sentIntent, 0);smsManager.sendTextMessage(to.getText().toString(), null,msgInput.getText().toString(), pi, null);}});}@Overrideprotected void onDestroy() {super.onDestroy();//在Activity摧毁的时候停止监听unregisterReceiver(messageReceiver);unregisterReceiver(sendStatusReceiver);}class MessageReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {Bundle bundle = intent.getExtras();//使用pdu秘钥来提取一个pdus数组Object[] pdus = (Object[]) bundle.get("pdus");SmsMessage[] messages = new SmsMessage[pdus.length];for (int i = 0; i < messages.length; i++) {messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);}//获取发送方号码String address = messages[0].getOriginatingAddress();//获取短信内容String fullMessage = "";for (SmsMessage message : messages) {fullMessage += message.getMessageBody();}sender.setText(address);content.setText(fullMessage);}}class SendStatusReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {if (getResultCode() == RESULT_OK) {//发送成功Toast.makeText(context, "Send succeeded", Toast.LENGTH_LONG).show();} else {//发送失败Toast.makeText(context, "Send failed", Toast.LENGTH_LONG).show();}}}}

 

 

 

 

 

activity_main:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><LinearLayoutandroid:layout_width="match_parent"android:layout_height="50dp" ><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:padding="10dp"android:text="From:" /><TextViewandroid:id="@+id/sender"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_vertical" /></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="50dp" ><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:padding="10dp"android:text="Content:" /><TextViewandroid:id="@+id/content"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_vertical" /></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="50dp" ><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:padding="10dp"android:text="To:" /><EditTextandroid:id="@+id/to"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:layout_weight="1" /></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="50dp" ><EditTextandroid:id="@+id/msg_input"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:layout_weight="1" /><Buttonandroid:id="@+id/send"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:text="Send" /></LinearLayout></LinearLayout>

 

 

 

 

 

AndroidManifest:

 

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.smstest"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="14"android:targetSdkVersion="17" />//接受短信<uses-permission android:name="android.permission.RECEIVE_SMS" />//发送短信<uses-permission android:name="android.permission.SEND_SMS" /><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><activityandroid:name="com.example.smstest.MainActivity"android:label="@string/app_name" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>

 

 

 

 

 

 

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

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

相关文章

被 ChatGPT “霍霍”的文学界:由 AI 编写的投稿激增,17 岁老牌杂志宣布暂停征稿...

整理 | 郑丽媛 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 上线近三个月&#xff0c;这把名为 “ChatGPT” 的火&#xff0c;燃到了科技圈、烧到了教育界&#xff0c;如今终于也向文学界蔓延了——越来越多人开始用 ChatGPT 写文章甚至书籍。 在众多“尝鲜者”…

再不玩Midjourney Ai 绘画你就落伍了 超详细入门指南

本文来源&#xff1a;chatgoo 认识的设计朋友&#xff0c;他已经用Midjourney&#xff0c;从每天工作6小时&#xff0c;变成每天工作2小时了。 尤其是当甲方自己都不明确需求时&#xff0c;可以快速给出多种风格图片&#xff0c;确定后进行精修。标准版也就30美刀而已。 设计、…

2023 IJCAI YES 报名通道正式开启!快来上海与学术大咖、青年学者们来一场双向奔赴吧...

内容一览&#xff1a;2023 IJCAI YES 报名通道正式开启。本次盛会中&#xff0c;HyperAI超神经将作为协办单位参与其中。 关键词&#xff1a;2023 IJCAI YES WAIC IJCAI ChatGPT 的出现引领了一场人工智能界的狂欢&#xff0c;在科技巨头们前赴后继打响「诸神之战」的同…

万字干货:10 位科学、人文大咖论道,Max Tegmark 贡献思想火花,共同直面 AI 奇点时刻...

点击蓝字 &#xff5c;关注我们 2023 年 7 月 7 日&#xff0c;由世界人工智能大会 (WAIC) 组委会指导&#xff0c;国际人工智能联合会 (IJCAI) 中国办公室、华东师范大学联合主办&#xff0c;华东师范大学政治与国际关系学院承办&#xff0c;华东师范大学奇点政治研究院、安远…

马斯克称英伟达不会永远垄断AI芯片市场;苹果大幅削减MR头显销售目标;谷歌DeepMind发布新AI系统丨每日大事件...

‍ ‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 企业动态 星环科技&#xff1a;拟定增募资不超过15.2亿元 用于数据分析大模型建设等项目 6月7日&#xff0c;星环科技公告称&#xff0c;拟定增募资不超过15.2亿元&#xff0c;用于数据分析大模型建设项目、智能量化投研…

重磅!2023 智源大会完整日程公布,百场精彩报告研讨邀你参加

2023北京智源大会将于6月9日召开&#xff0c;我们邀请AI领域的探索者、实践者、以及关心智能科学的每个人&#xff0c;分享研究成果、交换实践经验、建立联系合作。本次大会核心议题包括&#xff1a;图灵奖得主Yann LeCun等领衔探讨大模型发展现状与未来趋势&#xff1b;未来生…

生成式 AI 或致全球三亿人失业

大家好&#xff0c;我是校长。 前几天看到一条新闻&#xff1a;几个月来&#xff0c;越来越多的知名人士预计&#xff0c;年内大热的 ChatGPT 有望掀起一场新的工业革命。而纵观历史&#xff0c;历次工业革命往往会深远改变当时的社会结构 —— 从机械织布机到内燃机再到第一台…

被陆奇文章刷屏了,细思极恐

大家好&#xff0c;我是校长。 最近陆奇的文章在网络上刷屏了。 2023 年 4 月 22 日&#xff0c;陆奇在上海举行小规模演讲&#xff0c;讲了他目前对大语言模型的一看自己的思考和看法。我看了腾讯新闻发布的长篇文章了&#xff0c;演讲的内容质量确实很高。 陆奇是谁呢&#x…

科大讯飞上半年营收78亿元;福特与英特尔协同开发自动驾驶;蚂蚁拟回购约7.6%股份丨每日大事件...

‍ ‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 企业动态 千方科技&#xff1a;公司目前已经完成自动驾驶产业链布局&#xff0c;并不断完善中 7月10日&#xff0c;千方科技在互动平台表示&#xff0c;公司从2015年开始布局无人驾驶相关业务&#xff0c;主要涉及如下几…

Python实现彩票双色球、大乐透随机预测出号

彩票要是能通过预测都能拿奖&#xff0c;那也是需要攒多少人品才行呀 老老实实做好事&#xff0c;多积德行善&#xff0c;做公益 近期出差的时候&#xff0c;闲来没事&#xff0c;下班路过彩站每天都顺便买一张彩票。 同时&#xff0c;就引发了对所学专业的应激反应&#xff…

放大招啦,用Python来预测双色球

一、需求简介 之前偶然见到一位网友提出了关于双色球数据的分析需求&#xff0c;感觉颇有趣味&#xff0c;便着手操作了一番。如下为某双色球发布站的页面&#xff0c;可以看到每期会产生红/蓝两种颜色的数字&#xff0c;其中红球为 33 选 6&#xff0c;蓝球为 16 选 1&#x…

java实现双色球彩票中奖游戏

目录 前言 一、游戏规则 二、代码实现 编程思想 代码展示 三、结果展示 前言 根据游戏规则&#xff0c;设计一个双色球号码竞猜游戏&#xff0c;根据规则&#xff0c;获得不同的奖项和奖金。 一、游戏规则 二、代码实现 编程思想 设置两个数组&#xff0c;分别记录输入的双色…

Python项目分析:预测双色球福利彩票中奖号码(随便玩玩,不要当真)

前言 双色球是中国福利彩票的一种玩法。 红球一共6组&#xff0c;每组从1-33中抽取一个&#xff0c;六个互相不重复。然后蓝球是从1-16中抽取一个数字&#xff0c;这整个组成的双色球 python从零基础入门到实战&#xff0c;想要源码数据集的&#xff0c;戳我 今天&#xff…

用Python预测双色球福利彩票中奖号码(请不要当真)

前言 双色球是中国福利彩票的一种玩法。 红球一共6组&#xff0c;每组从1-33中抽取一个&#xff0c;六个互相不重复。然后蓝球是从1-16中抽取一个数字&#xff0c;这整个组成的双色球 python从零基础入门到实战 今天&#xff0c;我们就用Python来统计一下各号码的中奖概率&…

Python预测双色球福利彩票中奖号码(随便玩玩,不要当真)

前言 铁子们应该都是听说过双色球的吧 双色球是中国福利彩票的一种玩法 红球一共6组&#xff0c;每组从1-33中抽取一个&#xff0c;六个互相不重复。然后蓝球是从1-16中抽取一个数字&#xff0c;这整个组成的双色球 今天&#xff0c;我们就用Python来统计一下各号码的中奖概…

双色球的程序代码

双色球其实是有个很有趣的小游戏,仅供大家参考和学习,别无他意. 代码: package test;import java.util.Arrays; import java.util.Random; import java.util.Scanner;public class ShuangSeQiu {public static void main(String[] args) throws InterruptedException {//彩票双…

Python项目分析:预测双色球福利彩票中奖号码

前言 大家早好、午好、晚好吖 ❤ ~ 双色球是中国福利彩票的一种玩法。 红球一共6组&#xff0c;每组从1-33中抽取一个&#xff0c;六个互相不重复。 然后蓝球是从1-16中抽取一个数字&#xff0c;这整个组成的双色球 python从零基础入门到实战&#xff0c;想要源码数据集的&…

基于python的数据分析系统,python数据分析经典案例

大家好&#xff0c;本文将围绕利用python进行数据分析案例展开说明&#xff0c;基于python的数据分析系统是一个很多人都想弄明白的事情&#xff0c;想搞清楚基于python的数据分析题目需要先了解以下几个事情。 1、如何利用python进行数据分析 利用python进行数据分析 链接: …

自己的智能AI聊天机器人,可自定义头像,免费html源码分享,粘贴即用!

1.展示效果 效果预览图&#xff1a; 新增小功能&#xff1a; ① 在原有的基础上加入了本地实时存档的功能&#xff0c;按照下面的步骤便可以随时在本地查看以往和智能AI所有的聊天记录哦&#xff01;再也不用担心关闭网页后先前的聊天内容全部消失啦&#xff01; PS&#xff1a…

深度学习实战30-AIGC项目:自动生成思维导图文件,解放双手

大家好,我是微学AI,今天给大家介绍一下深度学习实战30-AIGC项目:自动生成思维导图文件,解放双手,思维导图是一种常见的工具,用于将复杂的信息和概念以图形化方式展示出来。AIGC项目旨在将这种思维导图的创建过程自动化,并通过使用ChatGPT作为生成器,使其变得更智能化和…