首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Android中将短信保存到收件箱?

要在Android中将短信保存到收件箱,您需要使用广播接收器(BroadcastReceiver)来监听短信的到达事件。以下是一个简单的示例,展示了如何实现这个功能:

  1. 首先,在AndroidManifest.xml文件中添加以下权限和广播接收器:
代码语言:xml
复制
<uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<receiver android:name=".SmsReceiver">
   <intent-filter>
       <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
    </intent-filter>
</receiver>
  1. 创建一个名为SmsReceiver的Java类,并继承自BroadcastReceiver:
代码语言:java
复制
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.widget.Toast;

public class SmsReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        // 获取短信内容
        Bundle bundle = intent.getExtras();
        SmsMessage[] messages = null;
        String strMessage = "";

        if (bundle != null) {
            Object[] pdus = (Object[]) bundle.get("pdus");
            messages = new SmsMessage[pdus.length];

            for (int i = 0; i < pdus.length; i++) {
                messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i], "3gpp");
                strMessage += messages[i].getMessageBody();
            }

            // 将短信保存到收件箱
            String address = messages[0].getDisplayOriginatingAddress();
            String body = strMessage;
            String time = messages[0].getTimestampMillis() + "";
            saveSmsToInbox(context, address, body, time);

            // 显示收到的短信内容
            Toast.makeText(context, "收到短信:" + strMessage, Toast.LENGTH_SHORT).show();
        }
    }

    // 将短信保存到收件箱
    private void saveSmsToInbox(Context context, String address, String body, String time) {
        ContentValues values = new ContentValues();
        values.put("address", address);
        values.put("body", body);
        values.put("date", time);
        context.getContentResolver().insert(Uri.parse("content://sms/inbox"), values);
    }
}

这个示例中,我们创建了一个名为SmsReceiver的广播接收器,用于监听短信到达事件。当收到短信时,我们将短信内容保存到收件箱中,并显示收到的短信内容。

注意:在Android 6.0(API 23)及更高版本的设备上,需要在运行时请求WRITE_EXTERNAL_STORAGE权限。具体实现方式可以参考官方文档

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云短信:腾讯云短信提供国内短信发送、国际/港澳台短信发送、短信签名、短信模板、短信回复等服务。
  • 腾讯云移动应用与游戏解决方案:腾讯云移动应用与游戏解决方案提供移动应用开发、游戏开发、推送服务、CDN加速、安全防护等服务。
  • 腾讯云即时通信 IM:腾讯云即时通信 IM 提供高效、稳定、安全的即时通讯服务,支持多种通信场景和消息类型。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

利用GoogleAppsScript自动回复短信实现

原理:利用Google Apps Script 回复邮件来实现自动回复短信,以达到号目的。当然你也可以发送“天王盖地虎”到+1‪ (413) 370-0333‬,我们会在两分钟内回复你。...设置成功后,每次收到短信Gmail就会收到一个邮件。 ? 用过滤器识别出此邮件与其他邮件的不同(自动归档)。...第一步的图中所示,Google Voice转发的邮件发现人会以@txt.voice.google.com结尾。这就是我们的目标。 ? 我们打开设置页面,找到过滤器并且新建。 ?...现在已经可以匹配到我们的短信邮件了。 接下来选择我们要做的动作。 ? 跳过收件箱(将其归档)和应用标签 是必选的。至于转发这个就看个人需要了。...当我们再次收到短信后,GV会把短信转发到Gmail,并归档到你上面起的便签里面。 ? 设置自动回复脚本 https://script.google.com/home 打开这个 左上角新建项目。

3K30

Android SMS(一) —— 读取短信

; import android.widget.TableLayout; import android.widget.TextView; /** * 读取手机短信 * * @author sunboy...代码示例 URI主要有: content://sms/               所有短信 content://sms/inbox        收件箱 content://sms/sent          ...   thread_id => 对话的序号 100   address => 发件人地址,手机号.+8613811810000   person => 发件人,返回一个数字就是联系人列表里的序号,陌生人为...Android短信存储数据库 偶然发现了Android源码中的一个类MmsSmsDatabaseHelper.java,原来android将所有的短信信息都存入了mmssms.db中。...字段就为null,如果你是先添加联系人再发短信的话,短信数据库里面的person字段就不为空了,所以你要是想通过短信数据库里的字段取得联系人的其他信息的话,只能通过地址来取。

5.4K40

Uniapp、Html5plus、Native.js开发记录

,允许程序写入外部存储,SD卡上写文件 android.permission.WRITE_SETTINGS,允许读写系统设置项 android.permission.READ_PHONE_STATE,...机中短信数据库相关字段包括: _id:短信序号,100 address:发件人地址,即手机号,+8613811810000,这里需要注意的是手机号是否加+86,可以加上86和不加86分别测试下...type:短信类型1是接收到的,2是已发出 body:短信具体内容 读取短信内容的uri为: Uri uri = Uri.parse(“content://sms”); //读取所有短信 Uri uri...= Uri.parse(“content://sms/inbox”); //读取收件箱短信 2022-11-06 1.uts uts,全称 uni type script,是一门跨平台的、高性能的、强类型的现代编程语言...它可以被编译为不同平台的编程语言,: web平台,编译为JavaScript Android平台,编译为Kotlin iOS平台,编译为Swift(HX 3.6.7+ 版本支持) uts 采用了与 ts

2.9K50

子弹短信光鲜的背后:网易云信首席架构师分享亿级IM平台的技术实践

用户可能一个月以前开始使用这个 IM 产品,或者 1 年前使用了这个 IM 产品,现在更换手机了,更换手机以后消息如何在新手机上拿到?...因为现在的移动设备对于 App 在后台的服务有限制,以前 Android 上还流行过后台活、互相唤醒等等方式(请见《应用活终极总结(三):Android6.0及以上的活实践(被杀复活篇)》、《Android...进程活详解:一篇文章解决你的所有疑问》、《深入的聊聊Android消息推送这件小事》)。...不过,在 Android 系统的不断更新和手机厂商打压下,App 在后台的活能力逐渐消失,现在基本都是接入各大推送平台,IM 消息即时性在 App 开发者这里能做的不多,主要看推送服务的实力了(Android...高版本对后台活越来越严格了,比如AndroidP的《Android P正式版即将到来:后台应用活、消息推送的真正噩梦》)。

3.1K20

Android安全几道入门题目

一、短信欺诈漏洞 Android系统有一套比较完善的安全体系,权限管理就是其中的一部分。当应用需要操作敏感数据时,需要申请相应的权限。 该系统漏洞能够使攻击者无需申请任何权限发送短信到用户收件箱。...出现该漏洞的原因是Android系统的com.android.mms.transaction.SmsReceiverService系统服务未判断启动服务的调用者,攻击者可以通过该应用发送伪装短信到用户收件箱...理解了原理以后基本上查阅一下资料基本上就很简单了,通过查阅资料得到以下两个是短信发送代码中关键的两个点:(详细的apk源码和apk见附件第一题) 1、构造短信发送代码: ?...3、完成上述代码编译签名以后得到app的界面,我们可以自己构造任意号码任意短信内容如下图所示。 ? 4、收到短信,通知栏如图: ? 7、查看短信内容,任意构造的短信漏洞成功利用: ?...这里可以选择不同的工具jeb、ApkIDE来查看代码,建议根据自己平时的喜好来选择,这个地方起初我碰到了一些坑,不同工具解析出来的代码有一些不同。

1.8K50

推送 从入门到放弃的文案_百度推送自己不喜欢的内容

SMS 这个其实就是借助短信来实现信息的展示,只不过把短信内容展示到了Notification中,这个方案,到达率确实高,毕竟短信是比较可靠、稳定的,但劣势也很明显,就是成本很高,而且在Android平台上...,短信的权限比较开放,容易被劫持。...对于应用卸载后RegistrationID的问题,很多PushSDK的策略是,生成一个DeviceID保存到本地存储,应用被卸载后如果被重新安装,如果检测到存储里的DeviceID还在的话,就判定是同一个设备...所以,不要再花心思去找什么进程活的黑科技了,好好做好应用,提供用户的使用黏性,才是最佳的活,而对于一些产品、运营所谓的『为什么微信、QQ都可以活』这样的问题,我建议你回答它:『如果你能把产品做到微信...发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

63910

账户接管(Account Takeover)漏洞挖掘及实战案例全汇总

2、漏洞分类 涉及到账户认证的功能点一般有: 1)注册/登录 2)密码重置/找回(最常见):短信、邮箱 3)账户设置:CSRF 4)第三方账号绑定 5)用户凭证泄露:CORS、XSS、ClickJacking...错误密码显示错误: 正确密码显示同上“已被激活”: 从而通过爆破获取正确密码: 2)Facebook验证码暴力破解 Facebook的主站设置速率限制及锁定机制,但子域beta.facebook.com通过短信...忘记密码,获取短信验证码后填写错误验证码,返回401: 将返回包中状态码401改为200,依旧失败: 将整个返回包修改为200,成功进入填写新密码的页面: TIPS:可先探测操作成功的返回包,并将错误返回进行整包替换...另一个参数相关的Paypal漏洞:使用其他方式方式找回密码: 请求包中将两个密参数SecurityQuestion删除: 成功绕过验证: 7)open redirect窃取jwt 开放重定向的其一利用手段...比如对于身份验证,采用高复杂度的密码机制往往好过于双因素验证;任何涉及身份验证的端点都要在设置严格的速率限制或锁定机制;对于密码修改,验证旧密码是最好的办法;采用了验证码机制要保证不被绕过;任何重要验证是否都是在服务器完成的等等

4.5K20

关于移动支付,安全大盘点。

用户被诱骗安装后,病毒会生成一条本地诈骗短信,让用户误认为收到银行系统通知短信短信内容:“尊敬的客户,招商银行提醒您:您的账号今天有5次密码输入错误,为避免您的资金受损,请速登录http://cmb...“短信海盗”和“手机骷髅”一样,会自动发送彩信,但比“手机骷髅”更为恶劣的是它是将机主收件箱的内容发送给其他机友,既造成用户大量的资费损失,又导致严重的隐私泄露。...2010年7月 “安卓短信卧底”:Android手机首个病毒现身 7月,网秦全球手机安全中心截获了一个名叫SW.Spyware.A的手机病毒,并将其命名为“安卓短信卧底”。...这是首款出现在Android手机中的病毒,它能偷偷窃取手机中的短信内容,造成用户隐私严重泄露。...“安卓短信卧底”病毒的出现,印证了 Android作为日渐主流的智能手机平台,已成为黑客攻击的对象。Android手机最大优势在于它完全开放的平台和五花八门的应用。

1.4K20

推送,从入门到放弃

SMS 这个其实就是借助短信来实现信息的展示,只不过把短信内容展示到了Notification中,这个方案,到达率确实高,毕竟短信是比较可靠、稳定的,但劣势也很明显,就是成本很高,而且在Android...平台上,短信的权限比较开放,容易被劫持。...对于应用卸载后RegistrationID的问题,很多PushSDK的策略是,生成一个DeviceID保存到本地存储,应用被卸载后如果被重新安装,如果检测到存储里的DeviceID还在的话,就判定是同一个设备...进程活 所谓进程活,是指App希望尽可能的保证自己的App的推送进程能够存活在后台,以保证可以收到服务端的推送消息,因此,才出现了一大批关于进程活的方式,例如NDK层的文件锁,fork...所以,不要再花心思去找什么进程活的黑科技了,好好做好应用,提供用户的使用黏性,才是最佳的活,而对于一些产品、运营所谓的『为什么微信、QQ都可以活』这样的问题,我建议你回答它:『如果你能把产品做到微信

1.9K20

【干货】Android 一线互联网面试题汇总,13模块200+题,征服面试官不是梦!

WebView 12.进程活 13.其他相关面试题 1.四大组件 四大组件是什么 四大组件的生命周期 Activity之间的通信方式 横竖屏切换的时候,Activity 各种情况下的生命周期 Activity...HttpURLConnection的区别 Volley,okhttp,retrofit之间的区别和核心原理和使用场景 描述一下https https中哪里用了对称加密,哪里用了非对称加密,对加密算法(RSA...如何在JNI中注册native函数,有几种注册方式? Java如何调用c、c++语言? JNI如何调用java层代码? 你用JNI来实现过什么功能吗?怎么实现的?...讲一讲优势 12.进程活 做过进程活吗? 5.0下和5.0上的活方式了解吗?...LruCache默认内存缓存大小 ContentProvider的权限管理(解答:读写分离,权限控制-精确到表级,URL控制) 如何通过广播拦截和abort一条短信? 广播是否可以请求网络?

73101

Android核心技术Intent和数据存储篇

存储 SharedPregerences是一种轻量级的数据存储方式,一般用来存储一些简单数据,应用程序的配置信息等。...图片 Android设置修改密码,设置密,和找回密码: 学习目标 掌握修改密码功能的开发,和实现用户密码的修改; 掌握设置密的功能开发,通过密我们可以找回用户的密码,来保证用户的安全。...对于一个项目来说,项目中将多次用到sharedPreferences共享参数,去存储用户的登录状态或清除登录状态,“我”的界面也要求用到读取用户姓名的方法,所以我们干脆把这三个方法都扔到AnalysisUtils...这里我们要学会数据库,DDL,DML等,数据定义语言和数据操作语言,创建表格和增删改查。 在SQLite中我们要了解认识SQLiteOpenHelper和SQLiteDatabase,并学会用。...在Android提供了SQLiteDatabase创建对象,运用不用写数据库语法封装好的API类。分别用query(),insert(),delete(),update()表示。

92730

开启QQ登录保护仍被盗号——QQ安全机制全面分析

QQ登录保护的安全机制: 当我们开启了“登录保护”,盗号者登录QQ输入正确的密码,即使更换IP骗过了安全检测系统,会发现仍然需要验证密手机短信里的数字验证码才能真正登录成功,由于手机随时带在我们的身边...,盗号者无法偷走手机拿到短信,也就无法继续作恶了。...但是一些举措会改变这个值,:刷机、root、恢复出厂设置等会使得 Android ID 改变。   在Android 8.0以后,ANDROID_ID根据应用签名和用户的不同而不同。...总结   那么为什么那些被盗QQ的同学没有收到短信验证呢?要知道,当盗号者获取你的账号密码后,不一定就要登录QQ,还可以登录QQ邮箱、QQ空间、腾讯旗下的游戏等。...盗号者登录时需要短信验证码,这样就不怕被盗号了。当然如果盗号者不但获取了你的账号密码,还把你的手机也偷了,那就真的无能为力了。

3.3K10

百亿奇迹背后,谁在胸有成竹地抢红包?

于是,IDC春节重项目提前启动,IDC平台部负责全国数据中心运营的三十单八将(简称数经)领命而发,一场全国范围内步调一致的重活动如火荼展开…… 壹 数经防御技能之一:预防性维护 对于柴发、冷机...重期间在现场的每一个人,都必须对应急预案了解、理解、可操作直至熟练。...没有哪个数据中心敢拍胸脯说百分百不出问题,但当问题真的来临时,如何在最短的时间内有条不紊地恢复,是检验一个数据中心团队运营能力的最简单粗暴的方式。...伍 数经防御技能之五:微信群 没有顺畅、高效的沟通,谈何重?...对于春节重,他们已经习以为常了,从短信时代开始,春节历来就是兵家必争之地,这么多年下来,虽短信的辉煌不再,运营商兄弟们却因此积累了丰富的重经验。胸有成竹,就是这么任性。

76340

【权限问题专项】无障碍服务、设备管理器权限合理使用场景VS不合理使用场景说明

权限问题专项文章已经对位置、短信、存储、悬浮窗、通知栏、电话、通讯录权限的合理使用场景、不合理使用场景进行了详细说明,本文将对无障碍服务权限、设备管理器权限的合理使用场景、不合理使用场景进行梳理总结。...android.permission.BIND_ACCESSIBILITY_SERVICE 权限定义:请求该权限以确保只有系统才能绑定到无障碍服务。...合理使用场景 仅限APP实现支持无障碍功能情况下,可以申请使用此权限,针对视障人士的屏幕朗读功能。 不合理使用场景 除上述合理使用场景外,其他场景一律禁用该权限。...3)支付工具类:对于提醒商户“到账××元”的语音播报功能,应用为实现活申请此权限; 4)实用工具类、拍摄美化类:在“跳过”、“关闭”开屏广告的场景下,模拟用户点击按钮,从而达到“跳过”、“关闭”开屏广告的目的...2. android.permission.BIND_DEVICE_ADMIN 权限定义:是 DeviceAdminReceiver 子类必须具有的权限,用于确保仅系统可以与接收者互动。

1K10

Android安全性要点与规范核心详析

如果您不打算向其他应用授予访问您的 ContentProvider的权限,请在应用清单中将其标记为 android:exported=false;要允许其他应用访问存储的数据,请将 android:exported...请注意,短信在网络上和设备上均未经过加密,也没有经过严格的身份验证。而且,短信的所有接收者都应明白,您的应用收到的短信可能来自恶意用户。因此,切勿使用未经身份验证的短信数据执行敏感命令。...还需要注意的是,短信可能包含欺骗性内容,也有可能在网络上传输时被拦截。在 Android 设备上,短信会以广播 intent 的形式传输,因此可能会被其他拥有 READ_SMS权限的应用读取或捕获。...此外,您还应考虑自己的应用是否会在无意之中将个人信息泄露给其他方,广告使用的第三方组件或应用使用的第三方服务。如果不知道某个组件或服务为什么需要个人信息,就不要提供个人信息。...如果您的 IPC 机制并不打算让其他应用使用,请在该组件的清单元素(例如 元素)中将 android:exported 属性设置为 "false"。

78910

android的消息通知栏

Notificaiton状态通知栏: 功能作用 1.显示接收到短消息、即使消息等信息 (QQ、微信、新浪、短信)   2.显示客户端的推送消息(如有新版本发布,广告,推荐新闻等)  3.显示正在进行的事物...联系: 1.由于service 是在后台运行,所以它意图做什么我们看不到,可以通过Notificaiton 来显示提醒(音乐的后台播放)。...2.service服务和BroadcastReceiver广播相结合,在加上Notificaiton 显示(程序的后台更新)。...知识点 1)什么是PendingIntent PendingIntent和Intent略有不同,它可以设置执行次数,主要用于远程服务通信、闹铃、通知、启动器、短信中,在一般情况下用的比较少。...实现:大视图风格通知(注:4.1之前的版本不支持大视图) 只在通知被展开时显示 何时展开:通知处在顶端,或者用户通过收拾展开 收件箱风格的通知: 相比普通视图,只多出:7.

4K80

AndroidStudio制作“我”的界面,设置,修改密码,设置密和找回密码

前言 大家好,我是 Vic,今天给大家带来AndroidStudio制作“我”的界面,设置,修改密码,设置密和找回密码的概述,希望你们喜欢 学习目标 掌握修改密码功能的开发,和实现用户密码的修改; 掌握设置密的功能开发...,通过密我们可以找回用户的密码,来保证用户的安全。...工具类 对于一个项目来说,项目中将多次用到sharedPreferences共享参数,去存储用户的登录状态或清除登录状态,“我”的界面也要求用到读取用户姓名的方法,所以我们干脆把这三个方法都扔到AnalysisUtils...", Toast.LENGTH_SHORT).show(); //保存到 saveSecurity(validateName);...❤️ 总结 本文讲了AndroidStudio制作“我”的界面,设置,修改密码,设置密和找回密码,界面的布局介绍,如果您还有更好地理解,欢迎沟通 定位:分享 Android&Java知识点,有兴趣可以继续关注

1.9K20

Hacker基础之工具篇 apktool

apktool apktool是一个用于第三方封闭的二进制Android应用程序逆向工程工具 它可以将资源解码为几乎原始的形式,并在进行一些修改后重建它们; 它可以逐步调试小代码, 由于类似项目的文件结构和一些重复性任务的自动化...,比如构建apk等,它还使得逆向工作变得更容易 下面是apktool的项目地址 Source: https://code.google.com/p/android-apktool/ apktool参数...这样就可以把这个apk解压相同目录下相同名字的一个目录中了 [OPTS]的参数可以在apktool的参数说明查到,这里就不详细说了 file.apk就是我们要逆向的文件 []代表了我们想把解压的结果保存到那个目录中...,上传邮箱的木马 三、收割邮箱 我们顺藤摸瓜,登陆这个邮箱 里面全是中了木马的手机发送的手机通讯录 我们随便打开一个 有通讯录电话的 有短信的消息的 通过这个木马,黑客还可以读取你的短信,轻松的看到你的敏感信息...,没办法 为了终止这个病毒的扩张,我们通过设置邮箱白名单的策略 将白名单中添加一个不存在的邮箱(回头是岸@好好做人)过滤掉所有的发自感染了木马的手机的邮件 六、事后提醒 重要数据密码,账号等不要以短信的形式保存在手机里

1.9K100
领券