当前位置:操作系统 > 安卓/Android >>

android CMCC入库,终端不支持短信和彩信重发的问题

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};

 

补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,