--> -->
Google Playを利用したアプリの作成時は、端末を初期化した状態でのテストも欠かせません。Google Playが初めての利用だったり、そもそもGoogle Playが入っていない(Android 2.2でもandroidマーケットを更新しないとplayにならないものがある、私の使ってるGalaxy S SC-02Bとか・・)場合があるからです。
そんな確認をしていて、isGooglePlayServicesAvailable()の実装の必要性に気づき、色々お世話になっている以下のページを参考に実装しました。
http://dev.classmethod.jp/smartphone/android/android-google-play-services-2/
当初、例を参考に、
という感じで実装し、Dialog用のActivityを作ったり、それだと真っ黒な画面が出てしまうのでDialogがDismissされたらCallbackでActivityもfinish()したりと、いろいろやったのですが、ダイアログ表示中に画面を回転させるとNullPointerExceptionが発生してしまう現象がどうしても解決できませんでした。
どうやら原因は、以下のサイトにあるように、回転時にDialogFragmentが再生される際、Activityからの生成ではなく直接onCreateDialogが呼ばれてしまい、返り値を作れなくて落ちるという現象でした。
http://y-anz-m.blogspot.jp/2012/04/androidfragment-setarguments.html
そこで、このあたりを参考にしながら、Serializeで値を保存する方策を探ってみたのですが、Dialog型のSerializeが分からずに断念(そもそも無理?)。
違う方面からのアプローチを探していたら、こちらのサイトで良い方法を見つけました。
それはなんと、以下のように、
1 2 |
|
getErrorDialog()した後、DialogFragmentを使わずにそのままdialog.show();してしまうというもの。
なんだ、これでいいんだ・・・脱力。
勧められてみた。 |
|
}}