lx9china
发表于 2014-4-4 20:00
好东西,谢谢
234837134
发表于 2014-4-6 11:59
谢谢谢诶邪恶写
liuping4399
发表于 2014-4-7 21:06
支持一下看看怎么样
五月
发表于 2014-4-11 18:26
支持啊
伊布拉希莫维奇
发表于 2014-4-11 20:45
kan kan
唐伯虎点蚊の
发表于 2014-4-11 22:15
谢谢。
davidlone
发表于 2014-4-11 22:52
@五月
有朋友问到中文短信支持怎么改的,简单说下:
搞明白后真的挺简单,不过也花了我比较多时间来找出原因。
最开始我反编译巴西和中欧版的Messaging.apk后对比代码,结果发现没啥大区别,但是中欧原版系统短信设置是有编码选择的,而巴西的则没有进而导致中文短信有问题。那么肯定是系统其他地方什么参数在控制这个编码设置的。
于是看Messaging.apk反编译后的代码,结果在MessageSettings.smali中发现如下代码:
.method public static getEncodingPreferencesEnabled()Z
.locals 2
.prologue
.line 756
const-string v0, "telephony.sms.shift_table"
const/4 v1, 0x0
invoke-static {v0, v1}, Lcom/motorola/messaging/frameworkadapter/motorola/SystemProperties;->getBoolean(Ljava/lang/String;Z)Z
move-result v0
return v0
.end method
从名称上看这个方法应该就是控制短信编码设置是否出现的:读取telephony.sms.shift_table这个系统属性值,根据返回值来决定是否显示短信编码设置。
于是豁然开朗,就有了如下的两种方法来让这个短信编码设置出现:
1、在/system/build.prop之类的文件里添加上telephony.sms.shift_table=1,如果已有这个属性的将值改为1。
2、直接更改上面的方法getEncodingPreferencesEnabled,比如改成 const/4 v0, 0x1,然后直接返回return v0,这样就可以去掉telephony.sms.shift_table相关的代码了,这样改后不管怎样都会出现短信编码设置。
h474369441
发表于 2014-4-12 00:30
我轻轻的来,正如我轻轻的走。
犹故人归
发表于 2014-4-12 04:58
不错,试试
五月
发表于 2014-4-13 21:31
davidlone 发表于 2014-4-11 22:52
@五月
有朋友问到中文短信支持怎么改的,简单说下:
第一种直接添加就可以了吧,第二种需要编译APP吧
页:
1
2
3
4
5
[6]
7
8
9
10
11
12
13
14
15