Androidで、SMSの受信データを画面に表示


SMSの受信データをIntentReceiverで受け取るところまでは分かっていたので、そのデータを画面に表示してみました。
現状のソースは、http://taoe.jpn.ch:8080/svn/trunk/AndroidSmsDataFramework/ にあります。

試行錯誤したメモ。
直接IntentReceiverからstartActivityができないため、Serviceを起動してそこにデータを渡そうと頑張ってみました。が、結局ダメ。IntentReceiverから startServiceを呼んだ後にserviceを受け取れるまで待っていると、長すぎる!とシステムからプロセスKillされました。そこで、別にstartServiceをしておいて bindServiceだけを行ったのですが、同じ原因でダメでした。
それでは、とIntentReceiverから直接Intentを投げてみようと broadcastIntentで投げてみたらこれがうまく行きました。画面で registerReceiverで IntentのActionを登録しておけば無事にデータを取得できました。実は、Serviceから画面にこの手順でデータを送ろうと調べていたのですが、ただ遠回りしていただけでした。

今日の調べたメモ:

Serviceの作り方
http://www29.atwiki.jp/android/pages/32.html
Intentの送受信方法
http://www29.atwiki.jp/android/pages/35.html