SimpleAlarmBetaの公開準備中。
AndroidMarket公開に向けて、最終テストやら、気付いた点の改良やらしてて、ちょうどアラームが鳴ってる最中に電話かかってきたら、とか思ってonPauseに音を停止する処理を入れてみた。そしたら、急にアラーム音も音楽も鳴らなくなっちゃった。厳密には、たまに鳴る場合がある。デバッグを仕込んでみると、予想どおり、なぜかアプリはフォアグラウンドにいるのにonPauseが呼び出されてる・・・なんとか対策しないと・・・



この図(http://techbooster.jpn.org/wp-content/uploads/2010/06/android_lifecycle3.png)を参考に、Activity.onPause()にMediaplayer.isPlaying()ならMediaPlayer.pause()を仕込んで、Activity.onResumeにMediaPlayer != nullならMediaPlayer.start()を仕込んでみたらうまく動いた。結構機種依存な処理なのかもしれんが、これでしばらく様子を見てみよう。

Alarm再生中に電話をかけてみると、hasWindowFoucs()な状態でonPause()が呼ばれた。hasWindowFocus()でない状態で呼ばれるonPause()は何なんだ??とりあえず、電話かかってきて終わった時にonResumeで音楽を再開すると、音楽が二重に鳴ってやかましいので、onPauseでは無条件にMediaPlayer.pause()することにしてみよう。
SimpleAlarmBetaは今日はここまで。