码迷,mamicode.com
首页 > 移动开发 > 详细

Android KK上如何让三方APK发送的SMS不显示出来

时间:2014-08-29 16:10:08      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:android   java   io   ar   for   数据   log   sp   amp   

KK上sms framework架构做了修改,引入了default application的概念
假如手机上安装了多个收发信息的APK,那么必须设置一个作为default AP,只有default AP才有权限去读写数据库
如果非default AP去发送彩信,发送完后Framework会将这条短信写入数据库
 
KK之前的版本,如果三方Apk去发送短信,只要这个apk不将该短信内容写入数据库就不会显示。
kk之后的版本,如果三方APK去发送短信,虽然这个apk不将该短信内容写入数据库,但由于它并不是default AP,发送完后framework会检测到这种情况然后将该短信写入数据库
 
以com.carrot.iceworld这个apk为例,如果不希望它发送出来的sms显示出来,需要做以下修改:
 
SMSDispatcher.java --> handleSendComplete
if ((pplResult == false) && SmsApplication.shouldWriteMessageForPackage(
                    tracker.mAppInfo.applicationInfo.packageName, mContext)) {
                // Persist it into the SMS database as a sent message
                // so the user can see it in their default app.
               tracker.writeSentMessage(mContext);
            }
将以上的if语句修改为
if ((pplResult == false) && SmsApplication.shouldWriteMessageForPackage(
                    tracker.mAppInfo.applicationInfo.packageName, mContext) &&!tracker.mAppInfo.applicationInfo.packageName.equals("com.carrot.iceworld"))
 
如果是com.carrot.iceworld这个apk发送的短信,则不让FW写入到db里
请客户在这个if语句前加行log,将tracker.mAppInfo.applicationInfo.packageName的值打印出来以便后续debug

Android KK上如何让三方APK发送的SMS不显示出来

标签:android   java   io   ar   for   数据   log   sp   amp   

原文地址:http://blog.csdn.net/sergeycao/article/details/38847545

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!