前几日淘宝上买了一张联通3G的电话卡,拿到后迫不及待的放入手机想体验一下3G网络的快感,确实,网速很快,刷新网页那叫一个爽啊。不过没多久就遇到问题,短信能收不能发,*#*#4636#*#*进入手机信息,SMSC刷新出现“refresh error”,心想简单,自己写入后更新就行了;结果更新未出问题,但刷新后依然“refresh error”。
开始网上各种找,各种方法觉试了个遍,无解,唯一一条可能有用的就是让我去联通营业厅换卡。说实话卡没问题,至少放在媳妇儿的MT15I上正常工作。然后就怀疑是第三方ROM的问题,刷回官方ROM依然error,崩溃~
突然想到既然是自用,就无所谓自动识别和可以在某界面更换该号码,刚巧CM9的源代码也同步了一份,于是就从Mms的发送代码开始查起,最终定位到framewor/android/telephony下的SmsManager类,通过短信中心发送消息的代码就在这里面,定位参数scAddress,该参数为短信中心号码,既然系统无法读取那就在代码中写死该参数就可以了,相应位置加入“scAddress="+8613010470500"”,当然不止一处。编译,将编译好的framework.jar通过adb push进手机,重启,发送消息,成功!!!!!!!!!!!
下面是基于我编译的代码进行修改的方法,不涉及代码的修改和编译,所以仅需要java环境和smali以及baksmali即可(当然,解压缩的软件必备);
1.将你手机中的framework.jar拷贝到电脑中。
2.用smali将framework.jar反编译,得到一个包含一堆smali文件的文件夹,比如是framework;
3.将附件的SmsManager.smali文件拷贝到\framework\android\telephony文件夹下,替换原文件,用文本编辑器打开SmsManager.smali,搜索"+8613010470500",将其替换为你所使用的短信中心号码(3处),保存。
4.用baksmali将framework文件夹编译为classes.dex。
5.将1中的framework.jar用压缩软件打开,将4中编译所得的classes.dex替换进压缩包中。
6.将5中所得的framework.jar放回手机的/system/framework,替换源文件,记得改权限。
补充一点,该方法对所有android系统均有效,因为从2.1到4.0我没发现该类有变更过。
分享到:
相关推荐
- 如果短信数据库为空,或者设备未插入SIM卡,可能无法获取到短信中心号码。 - 获取短信中心号码可能会涉及用户隐私,因此在实际应用中应确保有明确的用户授权和隐私策略。 以上就是Android获取短信中心号码的...
在Android系统中,短信中心号码(Short Message Service Center,简称SMSC)是手机与短信服务提供商之间通信的关键组件。它是一个电话号码,用于指示手机如何发送和接收短信。当你发送一条短信时,你的设备会将消息...
5. SMS中心与SIM卡交互:在基于SIM卡的短信分类接入中,SIM卡与短信中心进行交互,接收并解析短信,然后根据预设的逻辑进行操作,可能包括转发、存储、删除或者显示给用户。 6. 安全性:由于SIM卡在接入和处理短信...
总的来说,通过这个Demo,开发者可以学习到如何在Android应用中安全、正确地获取短信中心号码,这对于开发涉及短信服务的应用,如自动回复、短信验证等场景是非常有价值的。同时,理解权限管理以及如何处理可能的...
本文将重点介绍一种解决短信发送问题的方法,即通过设置短信中心号码来恢复短信功能。 首先,我们需要了解如何进入手机的工程模式。在安卓手机的电话拨号界面,输入特殊的代码:“*#*#4636#*#*”(注意,有些设备...
7. **错误处理与调试**:发送短信过程中可能会遇到各种问题,如网络中断、短信中心拒绝等,教程应包含如何诊断和解决这些问题的方法。 8. **实际应用示例**:可能包含实际项目中的应用案例,如验证码发送、通知服务...
在使用安卓手机时,有时可能会遇到无法发送短信的问题。这种情况通常是由于短信中心号码设置不正确导致的。...总的来说,理解短信中心号码及其设置方式对于解决安卓手机无法发送短信的问题至关重要。
本文将深入探讨“电信设备-短信下发方法、短信中心和短信发送系统”的相关知识点,主要基于提供的资料《短信下发方法、短信中心和短信发送系统.pdf》。 一、短信下发方法 短信下发,即Short Message Service (SMS) ...
STM32与SIM900短信收发代码的实现涉及到了嵌入式系统中的通信协议、微控制器编程以及GSM模块的应用。STM32是一款基于ARM Cortex-M内核的微控制器,广泛应用于嵌入式系统设计,而SIM900是GSM/GPRS模块,能够实现通过...
2. 短消息中心(SMSC,Short Message Service Center):是短信服务的基础设施,负责接收、存储和转发短信,确保信息的准确、及时传递。 二、短信服务在数据产品中的应用 1. 营销推广:利用用户行为数据分析,发送...
4. **字段获取**:描述中提到的“各个字段的获取”可能指的就是在自注册过程中,设备会获取到的关于短信服务的各种配置信息,比如短信中心号码、短信编码方式、短信最大长度等。 5. **验证与激活**:设备会发送一个...
在C#编程环境中,开发手机短信收发功能是一项常见的任务,尤其在移动应用或企业级通信解决方案中。本文将深入探讨如何使用C#实现这一功能,以及如何处理SMS中心(SMSC)编码的问题。 首先,我们需要理解短信服务的...
- **短信中心号码设置**:需要正确设置短信中心号码(SMSC),以便成功发送短信。 #### 三、发送短信流程 **1. 发送前准备** - **打开串口通信**:首先确保单片机与SIM900A之间的串口通信正常。 - **发送AT指令...
这个过程中需要考虑短信中心号码的处理方法,包括去掉+号、调整位序、添加国际化标志以及计算长度等,以确保正确编码和传输。 总结来说,短信业务流程分析涉及到短信的发送模式、PDU格式、AT指令的使用以及PDU编码...
- `scAddress`:服务中心号码(SMSC),通常在发送国内短信时可以为空。 - `text`:要发送的短信内容。 - `sentIntent`:一个PendingIntent,当短信发送成功或失败时,系统会通过这个Intent回调我们的应用。 ```...
2. **存储**:解析后的短信被存储在手机的内存中,通常是SIM卡或手机内部存储。 3. **通知**:手机操作系统检测到新短信后,会发送通知提示用户,这可能包括声音、振动、屏幕闪烁等。 4. **显示**:用户点击通知或...
在这个过程中,手机需要保持开机状态并且有有效的SIM卡连接到网络,才能接收短信。值得注意的是,如果手机设置了飞行模式或者关闭了数据/短信服务,就无法接收到短信。 短信接收的优化也是电信设备管理的重要环节。...
1. **SMSC**:这通常指的是Subscriber Identity Module Subsystem Controller(SIM卡子系统控制器),在通信领域中,它处理与SIM卡相关的功能,如鉴权、加密等。 2. **ECE1099**:这可能是一个项目编号或课程代码,...
ASP平台与短信中心(SMSC)协同工作,SMSC负责基础的短信收发,而ASP则专注于增值业务的处理和服务。 通过引入这样的增值业务系统,电信运营商能够快速响应市场需求,推出新服务,增强竞争力,同时保护了核心系统的...