Android短信收发

Android7.0 Messaging源码分析(5) - MMS类库篇
http://blog.csdn.net/wenping1980/article/details/53215679

Android 短信模块分析(一) Mms功能概述及源码目录结构分析
http://blog.csdn.net/t12x3456/article/details/9293775

Android6.0的SMS(短信)源码分析–短信发送
http://m.blog.csdn.net/omnispace/article/details/52687184

关键代码:

短信发送:
SMSDispatcher.java (ImsSMSDispatcher)
persistSentMessageIfRequired 决策是否写数据库
private Uri persistSentMessageIfRequired(Context context, int messageType, int errorCode) {
1419 if (!mIsText || !mPersistMessage ||
1420 !SmsApplication.shouldWriteMessageForPackage(mAppInfo.packageName, context)) {
1421 return null;
1422 }

insert(Telephony.Sms.Sent.CONTENT_URI 插入数据库动作

sendRawPdu 这里调用者信息
String[] packageNames = pm.getPackagesForUid(Binder.getCallingUid());
shouldWriteMessageForPackage 根据包决定是否写数据库

isms.aidl:
* @param persistMessageForNonDefaultSmsApp whether the sent message should
153 * be automatically persisted in the SMS db. It only affects messages sent
154 * by a non-default SMS app. Currently only the carrier app can set this
155 * parameter to false to skip auto message persistence.
156 */
157 void sendTextForSubscriber(in int subId, String callingPkg, in String destAddr,
158 in String scAddr, in String text, in PendingIntent sentIntent,

smsmanager:
sendTextMessageInternal
persistMessage 参数

SMSDispatcher.java 处理回调
handleSendComplete

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值