`
dss16694
  • 浏览: 147328 次
社区版块
存档分类
最新评论

android无法自动识别sim卡中短信中心号码(SMSC刷新error)的解决方法

 
阅读更多

前几日淘宝上买了一张联通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我没发现该类有变更过。

 

 

分享到:
评论
12 楼 zhufoxmailcn 2015-09-16  
有希望了!
但原能解决小米二电信与4G卡的短信兼容性问题
11 楼 dss16694 2013-10-24  
hotdll 写道
l楼主一不小心泄露了自己的手机号码?

那是短信中心的号码。
10 楼 hotdll 2013-10-13  
l楼主一不小心泄露了自己的手机号码?
9 楼 dss16694 2012-12-26  
a15072085330 写道
换卡可以解决这个吗?   换手机能不能解决啊?  我的是工程机,可以换量产机! 换了是不是就显示出来了?  我的是小卡,插三星 GALAXY S III  可以显示,可以打电话!

确认一下,你说的识别不了是指插卡开机后无信号呢还是可以打电话不能发短信呢?
8 楼 a15072085330 2012-12-21  
换卡可以解决这个吗?   换手机能不能解决啊?  我的是工程机,可以换量产机! 换了是不是就显示出来了?  我的是小卡,插三星 GALAXY S III  可以显示,可以打电话!
7 楼 a15072085330 2012-12-21  
dss16694 写道
a15072085330 写道
大神啊,大神!  可以帮帮我吗?  我的SIM卡识别不了,你这教程我不懂, smali  这个怎么用我都不知道,在网上找教程也看不懂!  如果可以的话我想你帮帮我,万分感谢! 我的QQ是  657423521

不懂android相关文件的编译与反编译的话比较难办的,不建议折腾,考虑去营业厅换卡。

换卡可以解决这个吗?   换手机能不能解决啊?  我的是工程机,可以换量产机! 换了是不是就显示出来了?  我的是小卡,插三星 GALAXY S III  可以显示,可以打电话!
6 楼 dss16694 2012-12-20  
a15072085330 写道
大神啊,大神!  可以帮帮我吗?  我的SIM卡识别不了,你这教程我不懂, smali  这个怎么用我都不知道,在网上找教程也看不懂!  如果可以的话我想你帮帮我,万分感谢! 我的QQ是  657423521

不懂android相关文件的编译与反编译的话比较难办的,不建议折腾,考虑去营业厅换卡。
5 楼 a15072085330 2012-12-17  
大神啊,大神!  可以帮帮我吗?  我的SIM卡识别不了,你这教程我不懂, smali  这个怎么用我都不知道,在网上找教程也看不懂!  如果可以的话我想你帮帮我,万分感谢! 我的QQ是  657423521
4 楼 dss16694 2012-09-05  
ry31 写道
试过了,果然搞定啊,谢谢啦!

不客气,不过我到现在还没弄清楚是什么原因造成了,刚换了个手机,卡放在里面短信中心读取正常,比较诡异的问题
3 楼 ry31 2012-09-01  
试过了,果然搞定啊,谢谢啦!
2 楼 dss16694 2012-09-01  
undine 写道
你好啊 ,我ms2换了张联通的64K3G卡也发生你这样的情况啊。
想试试你说的这种方法,感觉从底层写死的话,应该可以从根本上解决问题。
但是似乎没有看到你文中所提那个SmsManager.smali文件,不知道可不可以发一份给我。如果你能帮我把+8613010733500这个号码编译一个进去就更感谢了。

汗,忘记放附件了
smali文件可以直接文本格式打开,替换就是了。
1 楼 undine 2012-08-31  
你好啊 ,我ms2换了张联通的64K3G卡也发生你这样的情况啊。
想试试你说的这种方法,感觉从底层写死的话,应该可以从根本上解决问题。
但是似乎没有看到你文中所提那个SmsManager.smali文件,不知道可不可以发一份给我。如果你能帮我把+8613010733500这个号码编译一个进去就更感谢了。

相关推荐

    android获取短信中心号

    - 如果短信数据库为空,或者设备未插入SIM卡,可能无法获取到短信中心号码。 - 获取短信中心号码可能会涉及用户隐私,因此在实际应用中应确保有明确的用户授权和隐私策略。 以上就是Android获取短信中心号码的...

    android 短信中心号

    在Android系统中,短信中心号码(Short Message Service Center,简称SMSC)是手机与短信服务提供商之间通信的关键组件。它是一个电话号码,用于指示手机如何发送和接收短信。当你发送一条短信时,你的设备会将消息...

    电信设备-基于SIM卡的短信分类接入的方法.zip

    5. SMS中心与SIM卡交互:在基于SIM卡的短信分类接入中,SIM卡与短信中心进行交互,接收并解析短信,然后根据预设的逻辑进行操作,可能包括转发、存储、删除或者显示给用户。 6. 安全性:由于SIM卡在接入和处理短信...

    android 获取短信中心号 Demo

    总的来说,通过这个Demo,开发者可以学习到如何在Android应用中安全、正确地获取短信中心号码,这对于开发涉及短信服务的应用,如自动回复、短信验证等场景是非常有价值的。同时,理解权限管理以及如何处理可能的...

    安卓手机短信发不出去设置方法

    本文将重点介绍一种解决短信发送问题的方法,即通过设置短信中心号码来恢复短信功能。 首先,我们需要了解如何进入手机的工程模式。在安卓手机的电话拨号界面,输入特殊的代码:“*#*#4636#*#*”(注意,有些设备...

    Sim发短信.rar

    7. **错误处理与调试**:发送短信过程中可能会遇到各种问题,如网络中断、短信中心拒绝等,教程应包含如何诊断和解决这些问题的方法。 8. **实际应用示例**:可能包含实际项目中的应用案例,如验证码发送、通知服务...

    安卓手机不能发送短信

    在使用安卓手机时,有时可能会遇到无法发送短信的问题。这种情况通常是由于短信中心号码设置不正确导致的。...总的来说,理解短信中心号码及其设置方式对于解决安卓手机无法发送短信的问题至关重要。

    电信设备-短信下发方法、短信中心和短信发送系统.zip

    本文将深入探讨“电信设备-短信下发方法、短信中心和短信发送系统”的相关知识点,主要基于提供的资料《短信下发方法、短信中心和短信发送系统.pdf》。 一、短信下发方法 短信下发,即Short Message Service (SMS) ...

    STM32与SIM900的短信收发代码

    STM32与SIM900短信收发代码的实现涉及到了嵌入式系统中的通信协议、微控制器编程以及GSM模块的应用。STM32是一款基于ARM Cortex-M内核的微控制器,广泛应用于嵌入式系统设计,而SIM900是GSM/GPRS模块,能够实现通过...

    数据产品短信知识培训 smsc

    2. 短消息中心(SMSC,Short Message Service Center):是短信服务的基础设施,负责接收、存储和转发短信,确保信息的准确、及时传递。 二、短信服务在数据产品中的应用 1. 营销推广:利用用户行为数据分析,发送...

    MTK 电信 短信 自注册

    4. **字段获取**:描述中提到的“各个字段的获取”可能指的就是在自注册过程中,设备会获取到的关于短信服务的各种配置信息,比如短信中心号码、短信编码方式、短信最大长度等。 5. **验证与激活**:设备会发送一个...

    smsc.rar_CSharp 短信_C# 短信_c# sms_短信 csharp_短信息

    在C#编程环境中,开发手机短信收发功能是一项常见的任务,尤其在移动应用或企业级通信解决方案中。本文将深入探讨如何使用C#实现这一功能,以及如何处理SMS中心(SMSC)编码的问题。 首先,我们需要理解短信服务的...

    单片机控制sim900a收发短信.docx

    - **短信中心号码设置**:需要正确设置短信中心号码(SMSC),以便成功发送短信。 #### 三、发送短信流程 **1. 发送前准备** - **打开串口通信**:首先确保单片机与SIM900A之间的串口通信正常。 - **发送AT指令...

    短信业务流程分析.pptx

    这个过程中需要考虑短信中心号码的处理方法,包括去掉+号、调整位序、添加国际化标志以及计算长度等,以确保正确编码和传输。 总结来说,短信业务流程分析涉及到短信的发送模式、PDU格式、AT指令的使用以及PDU编码...

    Android发送短信案例

    - `scAddress`:服务中心号码(SMSC),通常在发送国内短信时可以为空。 - `text`:要发送的短信内容。 - `sentIntent`:一个PendingIntent,当短信发送成功或失败时,系统会通过这个Intent回调我们的应用。 ```...

    电信设备-短信显示方法.zip

    2. **存储**:解析后的短信被存储在手机的内存中,通常是SIM卡或手机内部存储。 3. **通知**:手机操作系统检测到新短信后,会发送通知提示用户,这可能包括声音、振动、屏幕闪烁等。 4. **显示**:用户点击通知或...

    电信设备-手机及其短信切断菜单和短信接收方法.zip

    在这个过程中,手机需要保持开机状态并且有有效的SIM卡连接到网络,才能接收短信。值得注意的是,如果手机设置了飞行模式或者关闭了数据/短信服务,就无法接收到短信。 短信接收的优化也是电信设备管理的重要环节。...

    smsc.rar_V2 _smsc

    1. **SMSC**:这通常指的是Subscriber Identity Module Subsystem Controller(SIM卡子系统控制器),在通信领域中,它处理与SIM卡相关的功能,如鉴权、加密等。 2. **ECE1099**:这可能是一个项目编号或课程代码,...

    短信增值业务系统解决方案

    ASP平台与短信中心(SMSC)协同工作,SMSC负责基础的短信收发,而ASP则专注于增值业务的处理和服务。 通过引入这样的增值业务系统,电信运营商能够快速响应市场需求,推出新服务,增强竞争力,同时保护了核心系统的...

Global site tag (gtag.js) - Google Analytics