3

BroadcastReceiverからサービスを開始することについて読んでいます。このシナリオでは、IntentがIntentServiceによって処理されるまで、WakeLockを取得する必要があります。

保留中のIntentにラップされたAlarmManagerから直接IntentServiceを呼び出すとどうなりますか?このシナリオでは、BroadcastReceiverはありません...インテントはサービスのonHandleIntentに直接転送されます。では、どこでロックを取得しますか?本当に必要ですか?すべて正常に動作しているようです。

4

1 に答える 1

1

AnIntentServiceはスレッド化されたサービスにすぎません。ウェイクロックを取得する必要があります。Commonsguyはここに素敵WakefulIntentService です

彼のIntentServiceはWakelockを取得するため、AlarmServiceから呼び出すと、Wakeが取得され、作業が完了したときに解放されます。

私はそれを割り当てて使用しましたが、うまく機能します。ソースはGithubにあるので、どのように機能するかを確認できます。

于 2012-08-23T14:43:21.453 に答える