0

私は現在 AsyncTask を使用して Android SMS database/provider("content://sms") を監視している Android アプリを持っています。
これAsyncTaskは、メイン アクティビティが開始されるたびに実行されます。

今、私はそれを非同期で実行できるようにしたいと考えています。つまり、SMS が送受信されるたびにデータベースを更新したいと考えています。

私は現在、2分ごとに繰り返し実行を設定するIntentServiceために使用しています。AlarmManager

また、SMS が送受信されるたびに ContentObserverを使用してスレッドを実行する「STICKY」サービスも試しました。handler.post()

私の疑問は次のとおりです。

1) どの方法がより効率的ですか? 「STICKY」サービスまたは IntentService メソッドを実装するものですか?

2) handler.post() を使用する場合、次のシナリオを想像してください。SMS が受信され、スレッドが実行されます。このスレッドの実行中に別の SMS を受信した場合、新しいスレッドが作成され、古いスレッドと同時に実行されますか?

3) これまでに試した方法以外に方法はありますか?

ありがとう。

4

0 に答える 0