AlarmManager で Parcelable ではないオブジェクトを受け渡したいとき


AlarmManager では Serializable のオブジェクトは渡せない

 
Android の Activity 間では Intent には bundle.putSerializablebundle.getSerializable を使ってシリアライズ可能なオブジェクトを受け渡しできます。
しかしこれと同じ感覚で AlarmManager に投げてもレシーバー側で受け取れません。

AlarmManager では Parcelable なオブジェクトでしか扱ってくれません。そこで Serializable なオブジェクトを byte[] に変換して受け渡します。

送り側

送信したいオブジェクトが data だとします。

受信側

受け取る BroadcastReceiver では以下のように取り出します。

Parcelable インターフェースを実装したくないときはこの方法で回避できるかもしれません。

ITエンジニア募集中!

キュアコード株式会社はITエンジニアを募集しております。少人数の職場なので、上流・下流やサーバー・クライアント対応の垣根なく、あなたの強みを活かしながら いろいろなことにチャレンジ可能です。エンジニアとしての未経験の方、経験が少ない方も歓迎しています。

下記よりITエンジニア募集の採用情報をご覧いただけます。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA