概要
前段时间,因为项目的需要,使用ShareSDK的分享功能,其中包括 短信分享吗,并且在调用系统短信分享成功后要与服务器进行交互处理(我这里不关心,对方能否收到,只关心发出去了)。但是ShareSDk并不支持短信分享的回调功能,咨询了技术客服,也没有讨论出解决方案来。于是自己尝试粗略实现了一下。
方法
在调用系统短信发送后,通过内容观察者监听 短信发件箱的改变,如果监听到有内容改变的短信ID,那么获取当前的内容并检测其中是否含有某些关键字( 当然,这个关键字是我们自己定义的,例如:“jarlen”);如果找到则说明已发送了(我这里不关心,对方能否收到)。
核心 Code
/**
* Created by jarlen on 2015/6/4.
*/
public class SMSContentObserver extends ContentObserver {
private Context mContext;
private boolean isGoing = false;
private Handler mHandler;
private String targetAddress = null;
private String observerContent = null;
/**
* 短信息发送监听者构造器
*
* @param context
* @param handler 监听回调
* @param address 监听的目标手机号
* @param content 监听的内容关键字
*/