さシ寒缘の陈 发表于 2013-5-6 12:10:31

4.1.2 A830S不设本机号码用泛泰mms发营运商短信方法探讨

本帖最后由 さシ寒缘の陈 于 2013-5-6 16:32 编辑

一、自带framework.jar是支持营运商的
二、泛泰mms.apk因为要设发送短信号码,所以要修改才能发送营运商短信,

1、因为不设号码会弹出错误Invalid sender address. Check SIM card.,
apktool将mms.apk解包后,在res\value\strings.xml查找会找到Invalid sender address. Check SIM card.,
对应字段str_wrong_from_num。
继续在public.xml中查找str_wrong_from_num对应字段id是0x7f0c002e( 这个不同版本可能不同)
2、在mms\smali中查找0x7f0c002e会找到以下三个:第一个文件不用管
Mms\smali\com\pantech\app\mms\R$string.smali (1 hit)
Line 1810: .field public static final str_wrong_from_num:I = 0x7f0c002e
Mms\smali\com\pantech\app\mms\ui\ChattingMessageList.smali (2 hits)
Line 3360:   const v4, 0x7f0c002e
Line 9163:   const v2, 0x7f0c002e
Mms\smali\com\pantech\app\mms\ui\ComposeMessageActivity.smali (1 hit)
Line 3666:   const v0, 0x7f0c002e
3、将以下if-eqz 改成if-nez 跳过判断。
在ChattingMessageList.smali 中2处:    invoke-static {},
Lcom/pantech/app/mms/data/SettingEnvPersister;->getEditFromNumber()Ljava/lang/String;

move-result-object v6
    invoke-static {v6},
Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
   
move-result v6
    if-eqz v6, :cond_8
    .line 8118
    const v4,
0x7f0c002e

    invoke-static {},
Lcom/pantech/app/mms/data/SettingEnvPersister;->getEditFromNumber()Ljava/lang/String;

move-result-object v2
    invoke-static {v2},
Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
   
move-result v2
    if-eqz v2, :cond_2
    .line 8260
    const v2,
0x7f0c002e
在ComposeMessageActivity.smali 中1处
invoke-static {},
Lcom/pantech/app/mms/data/SettingEnvPersister;->getEditFromNumber()Ljava/lang/String;

move-result-object v1
    invoke-static {v1},
Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
   
move-result v1
    if-eqz v1, :cond_b
    .line 334
    const v0,
0x7f0c002e

4、打包,替换原来的mms.apk。自带mms可以正常发送各种短信了,长短信除外。




dgass 发表于 2013-5-6 12:15:24

感谢你的分享

qiyunting 发表于 2013-5-6 13:33:04

请起来111111

myth; 发表于 2013-5-6 16:41:18

加油,潜力股哦
页: [1]
查看完整版本: 4.1.2 A830S不设本机号码用泛泰mms发营运商短信方法探讨