手元に実機が無いなか、いろいろ想像して対策してみたものの、やはり動きませんでした。
バージョン5300.02にて強制終了ではなく、エラーメッセージを表示するようにするのが精々でした。
spモードメール通知は、マーケットの説明にもある通り、「spモードメールのデータを『覗き見』」しています。
具体的には、
/data/data/jp.co.nttdocomo.carriermail/databases/CarrierMail
というファイルです。
これはSQLiteのデーターベースになっていて、各々のメールの未読フラグやフォルダIDなどが格納されています。
spモードメール通知はこれらを読み取り、必要な通知を出しています。
Androidでは他アプリのファイルは見れないことになっています。そのため root化して無理やり覗き見しているわけです。
ところが、Optimus LTE L-01D ではroot化端末でも何故かデーターベースを覗き見できません・・・。
Optimus LTE L-01D をお持ちで、root化済みでコマンドラインが得意な方に試していただきたいことがあります。
やることはデーターベースがコピーできるかどうか。
例えばこんな感じで。
$ su
# cp /data/data/jp.co.nttdocomo.carriermail/databases/CarrierMail /sdcard/CarrierMail.1
# chmod 664 /data/data/jp.co.nttdocomo.carriermail/databases/CarrierMail
# exit
$ cp /data/data/jp.co.nttdocomo.carriermail/databases/CarrierMail /sdcard/CarrierMail.2
$ ls -l /sdcard/CarrierMail*
通常のroot化端末ではこれらが正常に動きます。(正常とはroot化の立場からみて正常であって、本来のAndroid OSの立場から見たらコピーできるのは異常ですが)
Optimus LTE L-01D でも正常に動いたら・・・ 別のテストを考えなければなりません。
コピーできない場合は、/data/data 以下にある他アプリのファイルでも同じようなコピーを試してみてください。
他アプリのファイルもコピーできない場合は、完全にroot化できていないことになります。
もし、/data/data/jp.co.nttdocomo.carriermail 配下だけダメで、他アプリ配下ならコピーできるとしたら・・・ドコモプロテクトが掛っていることになります!
検証報告お待ちしております!
->コピーできました。
ただし、cpコマンドがなかったのでbusyboxで代用です。
# chmod 664 /data/data/jp.co.nttdocomo.carriermail/databases/CarrierMail
->もとから664です。
$ cp /data/data/jp.co.nttdocomo.carriermail/databases/CarrierMail /sdcard/CarrierMail.2
->コピーできました。
このアプリを動かしたくてroot化したので、どうかよろしくお願いします。
コピーはできるんですね・・・。
これを受けて、次の検証プログラムを作ってみました。
https://tech4you.up.seesaa.net/image/spmmNotifier.5300.02LG.apk
設定画面が出てきたら、対処可能です。
今まで通りのエラーメッセージ画面がでてきたら、どうしましょう・・・
このプログラムでは /data/data/jp.co.nttdocomo.carriermail/databases/CarrierMail を /data/data/jp.tech4u.spmmNotifier/databases/ 配下にコピーしてからデーターベースオープンしています。
起動時だけこの処理を入れたので、新着メールが来た後の動作は不明です(単に無視するか、強制終了かどちらかだと思います)
技術的にできることが分かりました!
コピーを仕込むところが複数あるのでちょっと時間がかかると思いますが、組み込みまでしばらくお待ちください。
まず確認したいところを。
メール受信するたびに /data/data/jp.co.nttdocomo.carriermail/databases/CarrierMail を /data/data/jp.tech4u.spmmNotifier/databases/CarrierMail にコピーするわけなんですが、それぞれのタイムスタンプはちゃんと変わってますかね?
バージョン5300.03インストールして起動、設定出来ますが、通知はされません。
タイムスタンプですが
/data/data/jp.co.nttdocomo.carriermail/databases/CarrierMail
はメール受信しても変化ありません。
数日前の日付になっているので変化はしているみたいですが、どのタイミングで変化しているのかは不明です。
/data/data/jp.co.nttdocomo.carriermail/databases/CarrierMail-shm
/data/data/jp.co.nttdocomo.carriermail/databases/CarrierMail-wal
の2つは受信時や既読時や削除等と連動して変化します。
私もこのアプリを使いたいので、どうにか対応お願いします。
http://blog.tech4u.jp/article/249402471.html で、shm と wal があることは分かっているのですが、これ以上の調査はやはり実機が手元にないとツライです。
拡張子なし,shm,wal の3ファイルを送っていただけたら何とかなるかもしれませんが、個人情報のカタマリですから、ねぇ。
しかも、それでも対応できない可能性の方が高いです・・・。