本篇文章是一篇关于重发彩信的帖子
1. 查看SMS重发的机制:main log: 只有在radio off 或 no service导致发送失败的情况下才会重传在hanldeSmsSent(),里头查找 result is RESULT_ERROR_RADIO_OFF/RESULT_ERROR_NO_SERVICE,有这2种情况存在代表SMS会重传,这部分功能请参考SmsReceiverService.java。
总结一下目前我们的重传机制:
modem有两种重传:
1. 发送CP_DATA时,没有等到CP_ACK, 会重传CP_DATA
2. 如果SMS over CS or PS, 传送失败,手机遇实验另外一个domain.
APP重传有两种情况,
1. 发送失败的原因是no service时
2. 发送失败的原因是radio off时。
这两种情况下APP会监听网络状态,网络OK后会实验发送这些失败的信息。
测试方法方面:按照之前了解的情况,CMCC的测试应该是使用屏蔽箱。
综上所述:该功能MTK是支撑的,您的测试环境还请改在屏蔽室中验证。
2. 目前android default是支撑短信彩信主动重发的,这部分是spec划定的。代码中也有这样的设计。
彩信的重发可参考DefaultRetryScheme.java ,会主动重发5次,每个重发时光点参考这个变量的设置:
private static final int[] sDefaultRetryScheme = {
0, 1 * 60 * 1000, 5 * 60 * 1000, 10 * 60 * 1000, 30 * 60 * 1000};
文章结束给大家分享下程序员的一些笑话语录: 古鸽是一种搜索隐禽,在中国快绝迹了…初步的研究表明,古鸽的离去,很可能导致另一种长着熊爪,酷似古鸽,却又习性不同的猛禽类——犤毒鸟
--------------------------------- 原创文章 By
彩信和重传
---------------------------------