rokuta96のAndroidアプリ開発

Android、Android開発、スマートフォンについてのブログです。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

アラーム3

一通りアラームの設定はやりましたが、まだ他にいくつか注意点があるのでそれを書きます。

アラーム設定の上書きについて
アラームに設定するインテントが同じ内容のものだと上書きされます。
これは再設定するような場合には便利だとは思いますが、パラメーターが違うインテントを別々に設定したい場合などで困ると思います。

インテントの内容比較は、Action、Data、Type、Class、Categories、らしいです。
なのでいづれかの影響の無い項目を設定すれば別のインテントと判別されます。
例として、setTypeやsetDataにダミーデータを入れておけば別のインテントと認識されます。

アラーム設定が消える時
AlarmManagerは、cancel関数以外でもキャンセルしてしまう場合があります。
それは下記の状態のときです。
電源オフ時は、アラームが解除されてしまうと問題が起こる可能性があります。
Broadcastの「BOOT_COMPLETED」がシステム起動完了時に送信されるので、これを受信すればできます。

この内、アンインストール時は、むしろアラームを解除してもらわないと困るくらいなので問題なしです。
一応、Broadcastの「ACTION_PACKAGE_REMOVED」がアプリが削除された時に送信されるので、こちらで処理しても良いかと思います。

バージョンアップ時は、アラームが解除されてしまうと問題が起こる可能性があります。
Broadcastの「ACTION_PACKAGE_REPLACED」が既存アプリが上書きインストールされた時に送信されるので、これを受信すればできると思います。
しかし、実際にこれはなかなかテストできないので、本当にできるかはわかりません。
テストはコマンドラインからインテントを発行すれば一応できます。

つまり、全部Broadcastで処理しておけば問題無さそうです。

システム時間変更への対応
ユーザーは、端末のシステム時間を変更することができます。
時刻変更、日付変更、タイムゾーン変更と3種類の方法で変えられます。

これらのタイミング時にアラームを再設定すれば良いので、これもまた、Broadcastを受信するようにします。
「TIME_SET」、「TIMEZONE_CHANGED」、「DATE_CHANGED」です。

まとめ
考慮すべきBroadcastを列挙しておきます。
これらを受信した際にアラームを再設定するようにすれば問題ないと思います。
これで、アラーム関連は終わりにします。
  1. 2011/02/13(日) 17:29:22|
  2. アプリ開発入門
  3. | トラックバック:0
  4. | コメント:0
<<DateTad 1.1.1 リリース | ホーム | アラーム2>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://rokuta96.blog137.fc2.com/tb.php/96-45891db5
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

rokuta96

Author:rokuta96
FC2ブログへようこそ!
Twitter:rokuta96
アプリ:DateTad

Get Microsoft Silverlight

最新記事

最新コメント

月別アーカイブ

カテゴリ

rokuta96 (2)
GalaxyS (15)
Android資料、本 (3)
開発環境 (4)
アプリ開発入門 (52)
周辺機器 (7)
Androidアプリ (7)
Androidその他 (6)
DateTad (31)


検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

QRコード

QR