AndroidのPendingIntentで気を付けるべき事
Androidで「Notification」「ウィジェット」「AlarmManager」などを使用する場合に、
PendingIntentを使う事になると思います。
この時に、使用する
getActivity(Context, int, Intent, int), getBroadcast(Context, int, Intent, int), getService(Context, int, Intent, int)
こいつらを気を付けないと、上書きしている事に気付かないで上手く動作しないという迷路に陥るので注意が必要。
特に、複数PendingIntentを使用するようなアプリを作ると一度は悩むかもしれません。
しかも、良くあるサンプルプログラム達は、あまり良くない記述で書かれているし、
PendingIntentのドキュメントページにも第2引数の説明に「currently not used」という記述あるし。
嘘つくなと言いたくなる。
注意する点というのはこの第2引数の箇所である。
同じ値を入れて設定すると、最初に設定したものがキャンセルされてしまいます。
なので気をつけて下さい。
というのが結論でした。
関連する記事:
- 暗黙的インテントの呼び出しでActivityNotFoundExceptionを防ぐ方法
- AndroidManifest.xmlに記述した
のデータ取得方法 - Androidのサービスでintentを使うとNullPointerExceptionで落ちるのを回避
- AndroidでAlarmManagerの動作を確認するサンプルプログラム
- AndroidでUriからファイルパスを取得する方法
コメント 0