Android中发送短信可以直接使用smsmanager 直接去发送短信,但是这样发送短信,用户很反感,而且需要加更多的权限,如果利用隐式意图跳转到系统应用的短信应用,发送短信这样就可以不需要去添加权限,而且把最后发送短信的权利给了用户,这样用户就会心理上舒服很多

我们都知道隐式意图,隐式意图是通过一组 动作和数据打开动作数据 相匹配一个activtity。那么我们只需要知道怎么去打开系统应用的短信发送界面就好了,那么系统短信的短信发送界面如何打开呢?

我们先打开系统的短信发送应用,然后看日志猫的信息,发现其实就是打开了composemessageActivity

然后我们去系统上层的源码查找composemessageActivity

发现有很多 intent-filter,我们知道隐式意图只需要匹配到一个就行了,我们看了看发现

这个感觉很像,有sms 也有smsto,也就是有短信也有发送给谁


按照隐式意图 发送短信 发现只有后面那个data有用


我们知道activity之间传递数据不仅可以通过setdata 还可以putextras
那我们试试

现在我们需要putextra里的key 现在我们去翻源码 看看系统短信需要什么

通过翻源码我们知道,Key是sms_body

搞定 不需要任何权限哦

原文链接:http://bbs.itheima.com/thread-282949-1-1.html

Android中利用隐式意图发送短信相关推荐

  1. Android笔记 隐式意图vs显示意图+隐式意图打开短信应用demo

    显示意图一般应用于同一个应用中 执行效率高 隐式意图用于不同的应用程序,要激活别的应用程序或者让自己的某一界面被别人激活 隐式意图执行过程: 1查询系统中所有Activity看有没有满足条件的Acti ...

  2. android短信接受震动,Android中实现拨打电话、发送短信、响铃、震动和获取当前时间...

    如果要实现以下功能,需先在Androidmainifest.xml中注册来获取权限,xml代码如下: 请求获取发送短信权限 请求获取拨打电话权限 请求截获短信的权限 请求读取手机状态的权限 请求震动的 ...

  3. python发短信验证码_python利用第三方模块,发送短信验证码

    对于初学者,如何利用第三方python开发包发送短信验证码,下面是具体的实现和记录过程! 环境:虚拟机上centos7平台,python3.7版本: 首先,申请账号的部分就省略了 1. 获得appid ...

  4. python发送短信验证码不用三方模块_python利用第三方模块,发送短信验证码

    对于初学者,如何利用第三方python开发包发送短信验证码,下面是具体的实现和记录过程! 环境:虚拟机上centos7平台,python3.7版本: 首先,申请账号的部分就省略了 1. 获得appid ...

  5. python实现第三方验证码获取_python利用第三方模块,发送短信验证码(测试案例)...

    今天学到个利用python第三方,发送短信验证码的代码,速实现一遍,短信立即收到,果断记录在案! 环境:虚拟机上centos7平台,python2.7版本: 第三方服务提供商是:云通讯官网:www.y ...

  6. 七、Android定位与拨打电话、发送短信

    Android定位与拨打电话.发送短信 前言 项目目录 1.定位 (1)代码LocationActivity.activity_location (2)权限 2.拨打电话.发送短信 3.MainAct ...

  7. Android手机拨打电话、手动发送短信与自动拨打电话、自动发送短信(代码很简单哦)

    Android实现手动拨打电话,即点击后跳转到手机默认电话号码输入页面,可以将相应号码传送过去: <span style="font-size:18px;"> Inte ...

  8. Android实现拨打电话和发送短信,Android手机拨打电话、手动发送短信与自动拨打电话、自动发送短信(代码很简单哦)...

    Android实现手动拨打电话,即点击后跳转到手机默认电话号码输入页面,可以将相应号码传送过去: Intent intent = new Intent(Intent.ACTION_DIAL, Uri. ...

  9. Android代码实现——拨打电话和发送短信APP

    目录 题目要求 使用技术 效果图 题目要求 android实现在通讯录中选择电话号码拨打电话或发送短信功能 使用技术 Android Studio 效果图 主界面 输入内容 跳转到拨打电话 跳转到发送 ...

最新文章

  1. JavaScript for…in vs for
  2. linux目录及重要文件(持续更新)
  3. python学习浅谈(python2.x以及python3.x的区别、IDE)
  4. Python批处理文件
  5. 冒泡排序(一分钟懂)
  6. Sql Server 数据库实验报告
  7. Web测试常用测试点
  8. iMeta: 南医大余光创组ggtree最新文章-系统发育树存储与可视化的数据结构
  9. 2021-11-09 PMIC RK817 处理POWER键流程linux 部分的简单分析,dts 中会用 interrupt-parent interrupts去处理按键的中断。
  10. android 分享给好友,如何将安卓手机安装的APP分享给好友简单方法分享
  11. UnrealEngine蓝图进阶学习笔记(六):按波次生成敌人
  12. 前端静态资源缓存最优解以及max-age的陷阱
  13. 大数据是人类福音还是洪水猛兽?
  14. Isomorphic:二叉树同构
  15. 深入计算机组成原理(四)穿越功耗墙,我们该从哪些方面提升“性能”?
  16. python之有理数运算Rational类
  17. LaTeX排版(一):字体、页眉页脚、页边距、行距的设置
  18. 微信小程序商城毕业设计毕设作品(2)小程序功能
  19. 研究生新生培训第二周:卷积神经网络基础
  20. ln火线零线_LN哪个代表零线哪个代表火线

热门文章

  1. 菜鸟进阶: C++实现KNN文本分类算法
  2. 活动目录在Windows Server 2008 中的改进:总体概览
  3. supervisor的常用命令
  4. BZOJ4690 Never Wait for Weights(并查集)
  5. Struts 2常用的Ajax标签
  6. cocos2x (c++/lua) spine 文件的预加载
  7. Codechef_JULY14
  8. Java阻塞队列(BlockingQueue)实现 生产者/消费者 示例
  9. linux下的cat命令
  10. 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示