IM-A820L运营商短信修改教程(供其他泛泰机型参考)

本文详细介绍了在Android设备中,针对泛泰机型IM-A820L的运营商短信发送问题的分析和解决过程。通过研究短信发送流程,发现问题在于`GsmSMSDispatcher.java`中特定的代码段。解决方案包括修改或删除这段代码,以允许已设置本机号码的手机正常发送运营商短信。
摘要由CSDN通过智能技术生成

想要恢复运营商短信自然要先了解短信发送流程,这里推荐看 Android平台 短信发送流程剖析(含编码) 这篇,

这里附上里面的流程图

既然A820L的正常中文短信都是都是OK的,那么就可以判断信息的储存取出应该是没有问题的

再看看下一幅流程图,当然A820L的流程图未必跟这个完全一样,但我们可以根据这个来查找

跟拆分短信的关系应该也是不大的,所以主要看sendText这一流程


接下来要做的,就是要看这一流程中泛泰有没有加入一些稀奇古怪的变态代码(如一些运营商判断之类的东东)

将framework转为java查看,最后我们可以发现在com.android.internal.telephony.GsmSMSDispatcher.java中的sendText里加入了这些变态的代码

	protected void sendText(String s, String s1, String s2, PendingIntent pendingintent, PendingIntent pendingintent1, String s3, int i)
	{
		int j = Log.e("GSM", "=== sendText ===!! ");
		String s4;
		com.android.internal.telephony.gsm.SmsMessage.SubmitPdu submitpdu;
		if (SkyMsgConfig.isSKTVendor() || SkyMsgConfig.isLGVendor())
		{
			if (TextUtils.isEmpty(s3))
				s4 = ((TelephonyManager)mContext.getSystemService("CHARSET=UTF-8")).getLine1Number();
			else
				s4 = s3;
		} else
		{
			String s11 = TelephonyManager.getDefault().getLine1Number();
			if (s3 == null)
			{
				s4 = s11;
				int j1;
				if (TextUtils.isEmpty(s4))
					j1 = Log.e("GsmS
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值