(转)Android短信的发送和接收监听
/**发送与接收的广播**/
String SENT_SMS_ACTION =
"SENT_SMS_ACTION"
;
String DELIVERED_SMS_ACTION =
"DELIVERED_SMS_ACTION"
;
private
BroadcastReceiver sendMessage =
new
BroadcastReceiver() {
@Override
public
void
onReceive(Context context, Intent intent) {
Log.i(
"TAG"
,
"send。。"
+ intent.getAction() +
"---"
+ getResultCode() +
"---"
+ getResultData());
//判断短信是否发送成功
switch
(getResultCode()) {
case
Activity.RESULT_OK:
Toast.makeText(context,
"短信发送成功"
, Toast.LENGTH_SHORT).show();
break
;
default
:
Toast.makeText(mContext,
"发送失败"
, Toast.LENGTH_LONG).show();
break
;
}
}
};
private
BroadcastReceiver receiver =
new
BroadcastReceiver() {
@Override
public
void
onReceive(Context context, Intent intent) {
Log.i(
"TAG"
,
"receiver。。"
+ intent.getAction() +
"---"
+ getResultCode() +
"---"
+ getResultData());
//表示对方成功收到短信
Toast.makeText(mContext,
"对方接收成功"
, Toast.LENGTH_LONG).show();
}
};
/**
* 参数说明
* destinationAddress:收信人的手机号码
* scAddress:发信人的手机号码
* text:发送信息的内容
* sentIntent:发送是否成功的回执,用于监听短信是否发送成功。
* DeliveryIntent:接收是否成功的回执,用于监听短信对方是否接收成功。
*/
private
void
sendSMS(String phoneNumber, String message) {
// ---sends an SMS message to another device---
SmsManager sms = SmsManager.getDefault();
// create the sentIntent parameter
Intent sentIntent =
new
Intent(SENT_SMS_ACTION);
PendingIntent sentPI = PendingIntent.getBroadcast(
this
,
0
, sentIntent,
0
);
// create the deilverIntent parameter
Intent deliverIntent =
new
Intent(DELIVERED_SMS_ACTION);
PendingIntent deliverPI = PendingIntent.getBroadcast(
this
,
0
, deliverIntent,
0
);
//如果短信内容超过70个字符 将这条短信拆成多条短信发送出去
if
(message.length() >
70
) {
ArrayList<String> msgs = sms.divideMessage(message);
for
(String msg : msgs) {
sms.sendTextMessage(phoneNumber,
null
, msg, sentPI, deliverPI);
}
}
else
{
sms.sendTextMessage(phoneNumber,
null
, message, sentPI, deliverPI);
}
}
(转)Android短信的发送和接收监听的更多相关文章
- Android短信的发送和接收监听
/**发送与接收的广播**/ String SENT_SMS_ACTION = "SENT_SMS_ACTION"; String DELIVERED_SMS_ACTION = & ...
- Android 短信模块分析(四) MMS之短信的发送与接收
MMS之短信的发送与接收分析: 一.信息发送: com.android.mms.data.WorkingMessage.java 类 send()函数: public void send() { . ...
- Android 节日短信送祝福(UI篇:3-选择短信与发送短信的Activity的实现)
一.ChooseMsgActivity的实现 1.布局文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/ ...
- 基于android 社会的app短信分享 发送回调事件的实现
摘要 前一段时间.由于项目的需要,采用ShareSDK该共享功能.其中包含 短信股吧.和呼叫系统,以分享要与成功处理服务器交互的消息后,(我不在乎在这里,收到.仅仅关心发出去了).可是ShareSDk ...
- android短信发送器源代码
Activity类: import java.util.List;import android.app.Activity;import android.app.PendingIntent;import ...
- Android短信监听实现,及Android4.4之后短信机制变更
前阵子公司有一个项目,简单的监听短信应用,功能只有如下两个: 1.监听短信并获取短信内容上传服务器: 2.从服务器获取短信内容,发送出去 按照传统的思路,监听短信我们有两种方式:第一种是使用广播 ...
- Android短信发送器_08
1.string xml代码 <?xml version="1.0" encoding="utf-8"?> <resources> &l ...
- Android短信发送器(2)
在上一篇的<Android短信发送器>当中.发送功能并不完好.当发送内容超过限定字数时,短信就会发送失败,此时就须要推断内容是否超过限制,假设不超过限制.就直接发送,反之.则对其进行处理再 ...
- 【mob】Android短信验证+源码
在很多的应用当中,都涉及到了短信验证的功能,比如在注册或者找回密码的时候,那么我们如何通过第三方的平台来完成这个功能呢? 本面博文就实现短信验证,来做一个小的栗子. 第一步-下载开发包 第二步-将SD ...
随机推荐
- webstrom提示不见了
今天做项目时候,不知道怎么搞的我的神编辑器webstrom没有了代码提示!!! 重启软件.重启电脑甚至卸载重装都不行,研究了半天终于知道问题出在了哪: 后来我发现在Webstorm的菜单[File]里 ...
- MongoDB 3.4 分片集群副本集 认证
连接到router所在的MongoDB Shell 我本机端口设置在50000上 mongo --port 接下来的流程和普通数据库添加用户权限一样 db.createUser({user:&quo ...
- Python之路,Day8 - 面向对象编程进阶
本节内容: 面向对象高级语法部分 经典类vs新式类 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 作业:开发一个支持多用户在线的FTP程序 面向对象高级语法部分 经典 ...
- NOI Linux下Emacs && gdb调试方法
1. 首先要配置emacs文件: (global-linum-mode t) (show-paren-mode t) (global-set-key (kbd "C-s") 'sa ...
- webapi返回不带引号的字符串,解决自动加双引号的问题
返回类型改为HttpResponseMessage类型 [Route("api/TestControllers/test")] [HttpGet] public HttpRespo ...
- 【51nod-1289】大鱼吃小鱼(思维)
这道题我想的方法是用栈,每次去出栈顶两元素,比较是否相对,相对的话合并后压入栈.类似括号匹配. #include <bits/stdc++.h> using namespace std; ...
- 【lightoj-1024】Eid (高精度)
[题意] 给定n个数,求这n个数的最小公倍数. [题解] 最小公倍数当然不能按常规方法来求,因为最大的数将近是10000^1000级别的.然鹅最小公倍数怎么搞呢? 这里发现了一个规律: 4 5 6 3 ...
- Qt出现QObject::connect: Cannot queue arguments of type '******'的解决方法
一般出现这种情况都是自定义的类型进行型号槽连接的时候出现的,使用 假设自定义的类型是MyClass 使用qRegisterMetaType<MyClass>("MyClass&q ...
- PHP Socket(套接字连接)扩展简介和使用方法
PHP socket扩展是基于流行的BSD sockets,实现了和socket通讯功能的底层接口,它可以和客户端一样当做一个socket服务器. 使用这些函数时请注意,虽然他们中有很多和C函数同名的 ...
- defer async 区别
链接 <script src="script.js"></script> 没有 defer 或 async,浏览器会立即加载并执行指定的脚本,“立即”指的是 ...