0

現在、私は株式市場アプリを持っています。株式市場アプリが閉じられているときでも、次の株式アラート タスク コードを実行したいと考えています。

30 分ごとに HTTP ネットワーク プロトコルを使用して、株価情報のリストを取得します。特定の株が価格アラートに達した場合、通知バーを介してユーザーに通知します。

私は疑問に思った、私は使用する必要があります

  • 無限ループ内で 30 分間スリープする長時間実行スレッドを持つLocalService
  • AlarmManagerに 30 分ごとのタスクをスケジュールする

私の懸念は

  1. を使用している場合LocalService、ユーザーが を介して株式市場アプリを明示的に強制Settings -> Apps -> Running -> Stop終了すると、サービスも強制終了されます。在庫アラート タスク コードは実行されなくなります。
  2. AlarmManagerユーザーが株式市場アプリを終了した場合でも、株式アラート タスク コードが常に実行されるようにすることはできますか? AlarmManagerしかし、そのような時間のかかるタスクを実行するのに適していますか?

LocalService私の場合、またはを使用する必要がありAlarmManagerますか?

ありがとう。

4

1 に答える 1

2

AlarmManager を使用して保留中のインテントを送信し、30 分ごとにサービスを開始することをお勧めします。そして、サービスはその仕事を行い、 を呼び出しますstopSelf()。非常に長い時間サービスをアイドル状態にしておくと、システム リソースが浪費されます。

于 2012-09-06T05:32:30.433 に答える