Android AlarmManager 3 サービスでの受け取り
Androidで、定期的にプログラムを動かしたい時は、AlarmManagerにて、BroadcastReciverかServiceを起動させます。
前回のアーティクルでは、BroadcastReciverを用いましたが、AlarmManagerからの呼び出し以外でプログラム内部から直接呼出したいこともあります。
自分で受け取るBroadcastを投げても実現はできますが、サービスとして実装した方が自然です。
例えば、RSSReaderでは以下のような2種類の方法でサービスを起動しています。
- 指定した感覚でFeedの取得
- メニューのリフレッシュコマンドによるFeedの取得
Serviceに関しては、ApiDemoプログラムに簡単なサンプルプログラムがあるのでそちらを参照してください。
Serviceの実装
public class FeedService extends Service {@Overridepublic void onCreate() {}@Overridepublic void onStart(Intent intent, int startId) {//パラメータ取得 Bundle extras = intent.getExtras(); doSomething();}}
実際には、作成するプログラムにより、スレッドを作成してその中で処理をします。
ブログ内の関連する記事
- AlarmManager 1 Android でCronみたいなことをするには
- AlarmManager 2 定期的な感覚で繰り返し処理をするプログラム
- Android AlarmManager 3 サービスでの受け取り
- Android AlarmManager 4 アラームが消えるとき
- Android AlarmManager 5 システムブロードキャスト
コメント
コメントを投稿