たとえば10分に一回、何かしらの情報を保存しつつ、常時は別のアプリの実行を許すようなアプリを作る場合、
Linuxならばcronを使ってバックグラウンドでの起動させるのが一般的かなと思います。(まぁatでもいいですが)
cronの場合は、概念的には「起動タイミング」「起動コマンド」「引数」を設定できますよね。
androidで同じようなことを実現したい場合、サービスを使うしかないかなぁと思っているのですが、この理解は正しいでしょうか?
以下、正しいとした前提で書きます。
10分に一回しか仕事をしないのに、プロセスは生き続けるというのは、
Androidのようなリソース制限が厳しい環境だとかなり無駄が多いと思うのですが、
cronを模倣したようなサービスを1つ起動しておき(可能ならAndroid起動直後に自動起動)、
「起動タイミング(1900年からの経過ミリ秒をあらかじめ計算しておく)」
「起動コマンド(実行したいURI)」
「引数(インテントに含めたいExtraの内容)」の3つをExtraに突っ込んだインテント(わかりづらいですね)をこのcronもどきサービスに投げておくと、
しかるべきタイミングでインテントレシーバーに投げ返してくれるようなものって、
実用になりそうでしょうか?
ちょっとうまくいきそうかな?と思ったのですが、インテントをうまく理解できてないので、
動作モデル的に実用になるかどうか判断できないです。
どちらにせよ、cronっぽいサービスは有用だと思うのですが。。。
(marketあたりで配布して公有財的に使えそうですし)
--------------------------------------------------------------
大路裕介(おおみちゆうすけ)/まいむぞう
mail: mai...@gmail.com
skype: maimuzo
blog: http://fromnorth.blogspot.com/
service for rubyist: http://gemspec.info
for Android users: http://www.android-app.info/
--------------------------------------------------------------
きなみです
Android.app.AlarmManagerがそのものだと思いますがいかがでしょうか?
#しめじはチョッとなれてないので入力が辛い
--
Hideo