※ 追記(04/16):CM-5.0.6がリリースされたので差分だけをupdate.zipにしたのを作りました。CM-5.0.6を導入後にリカバリよりFlashしてください。ダウンロード
前回のエントリはいやはや不完全でありました。
実際のところ、Mms.apkのUser-Agentを変更すればMMSを受信することはできたのですが、完全ではなく、受信通知はされるが「ダウンロード」表示になったり、通知すらされないこともありました。
で、いろいろ調査した結果、問題はframeworkのPduParser.javaにありました。
説明すると長くなるので端折りますが、SBMのMMSはMMSの仕様に合ってない文字列を送りつけており、そのせいでメッセージヘッダの解析に失敗し、OSへの通知までいかない、もしくは本文のダウンロードができない事象が発生していました。
こう書くとSBMが悪いように思えますが、そうでもないかもしれません。実際iPhoneでは受信できますし。
そんなわけで、そのへんを修正することで、問題なく受信ができることを確認しました。
ただし、当方ではsmile.worldの環境しかありませんので、open.softbankのMMSでは確認していません。
手順
. CyanogenMod 5.0.6-test3.jrf.2をダウンロードする
. CyanogenModを導入済みならば、いつも通りリカバリからFlashする。(gappsも必要ならFlashする)
. その他のROMの場合はwipeしてからFlashする。
. カスタムROMを導入したことがなければ、Googleで調べる。
導入するとこうなります

. メッセージアプリ(Mms.apk)の設定でUser-Agentを設定する

smile.world(黒SIM)なのでiPhoneにします。

ちなみに、このROMは5.0.6-N1-test3のソースコードをベースに日本語リソースの追加と、上記MMSの修正をしてあります。(Mms.apkのソースには手を入れていません)
また、APNリストにSoftbankとNTT DoCoMoを追加しておきました。
それ以外はCMそのものと思ってよいです。
手元では何度となくテストをして問題がなかったのですが、これでダメだったりすると結構手をいれないといけなさそうです。
あと、iPhoneにある新着MMS受信アプリ的なものがないので、そのへんは別途考慮しなくてはならなさそう。
※ 追記: Desire Camera(r1)など、framework.jar を上書きするModを導入すると使えなくなりますのでご注意を。
※ 追記: Desire Camera(r2)はframework.jarを弄らないので大丈夫そうです。








