GALAXY NEXUS SC-04D を 4.1にアップデートしたら動かなくなった旨、報告がありましたので、その修正です。ついでに、L-01Dでも動くようになったかもしれません。
以下、修正の技術的な話を書きます。
SC-04DにてSQLiteのDBファイルを見ると、L-01Dと違い -journal というサフィックスが付いたファイルが生成されます。L-01Dは前に書いた通り、-walと-shmが生成されます。これらがある場合は、このファイルにもパーミッションを与える必要があります。パーミッションが無いと、DBのオープン時に例外が発生してしまいます。
前回は単にパーミッションを与える操作だけして、失敗しました。その後のDB内容変更を読み取れませんでした。
今までは動作中はDBを開きっぱなしにする仕様でした。これは処理の軽量化のため、ひいては省消費電力のためでした。(WEBアプリをやっていると、DBのオープンクローズのオーバーヘッドが非常に気になってしまうのです。)
開きっぱなしが問題なのではと思い、今回からは開いて読んだらすぐ閉じるようにしました。
ポーリングでの監視はファイルのタイムスタンプを見ており、タイムスタンプが変わった時だけDBの中身を見に行きます。このためアイドル時(メールが来ないとき)の処理時間(すなわちバッテリ消費量)は変わらないです。
今回の改修で、多くの最新機種に対応できたのではないかと考えております。