2015年11月24日火曜日

日付を進めてシステムアップデートが行われると悲惨…

Android端末の自爆ネタです。

先日アプリの動作確認で先日付にして確認中に寝落ちしていて起きてから日付を戻したのですが、変なところではまってしまいました。

システムアップデートの動作ってなぜかローカルの日付で動いているようで、最終チェックが未来日で判定されてしまった状態になったままとなりました。

何とか日付を戻そうとシステムアプリのデータ削除などを行ったものの全く日付がクリアされず。
しかも気づくとPlayStoreが
「接続を確認してお試しください」
[再試行]
と表示され何をやっても画面が変わらず更新しなくなりました。

はじめはプライバシーの設定などを色々とオフにしてたので、その影響かと思い色々と解除するものの全く変化なし。

やれることもなくなって途方に暮れつつも最終手段としてアカウントの削除を行って再度設定してみようと試みました。

が、ここで悪夢の状態に(笑)

アカウントの追加をした後の画面で身動きが取れなくなります(笑)

システム自体はハングアップしていないので画面の切り替えやホーム画面には戻れますが、アカウント関連の画面になるとそこから進まなくなります。

何度も電源を入れなおしたりしてもダメ。

ファクトリーリセット以外に方法はないかもしれないと思いつつも再び未来日付をセットすることにしてみました。
未来日に設定し、システムアップデートのチェック。
12月24日→12月25日

更新されました\(^O^)/

とりあえず日付を現在に戻してからアカウントの追加。
IDの入力画面になったのでIDとパスワードを入力。
アカウントの追加が完了。

まぁなんですね…日付関連のチェックがAndroidの設計がアホっぽいです。

システムアップデートの確認日付がひと月分進んでいますが、まぁいっか。これ以上悪化するのもあれなのでこれで良しとしよう。

※一応フィードバックでシステムチェックの未来日付は日本語で報告しましたが無視されちゃうんでしょうね…。

ちなみにこの手のチェックはシステムで対応していない場合はアプリで日付の妥当性チェックを行うことで一般的には回避させます。

たとえば、過去日とのチェック(この場合アップデートを行った場合は必ず過去日になるはずなので)で未来日となっている場合は、暫定としてその日時をセットしてチェック処理で用います。

逃げ方は色々あるので実装はシステム全体の流れと一致させなければなりませんが、特に指定がない場合は必ずプロジェクト方針として固めておくべきところです。

てか…システムアップデートのアプリのこの仕様はだめなんじゃないかな?
更新時のネットワーク負荷分散のための処置とは思うけど。
リセット方法がわからないのもちょっとねぇ…。

いやほんと、ユーザーが行えるレベルでデータクリアしてここまではまるとは思いませんでした。という愚痴ネタでした(笑)

0 件のコメント:

コメントを投稿