2012-03-20 13 views
1

私は、SMSが送信された後に "SMS_SENT"インテントを聞くBroadcastReceiverを持っています。私が知る限り、SMSManagerは実際にSMSを送ることができるようにwakelockを提供しています(私はこれについて何の証拠もありませんが、常識的にこれがそうであると私には分かります)。Android - WakeLockが必要ですか?

しかし、私のBroadcastReceiverは独自のwakelockを使用するWakefulIntentServiceを呼び出します。しかし、受信機自体はどうですか? WakefulIntentServiceが呼び出されることを保証できるように、新しいWakockockを作成する必要がありますか?それとも、AlarmManagerのレシーバと同じように、これを無視してもかまいませんか?

ありがとうございました

答えて

2

ただし、受信機自体はどうですか? WakefulIntentServiceが呼び出されることを保証できるように、新しいWakockockを作成する必要がありますか?

あなたの受信機はWakefulIntentServiceエンジンがWakeLockを取得し、​​を呼び出したら。

あなたがその呼び出しの前に多くの仕事をしていない限り、あなたは大丈夫でしょう。

+0

ありがとうございました。ブロードキャストレシーバは、覚醒インテントサービスへのコールに応じて、インテントのエキストラをそれに応じて投入するswitch文を持っています。これは受け入れられますか? – jtnire

+0

@jtnire:それだけではオーバーヘッドはほとんどありません。 SMSのブロードキャストプロセスに独自の「WakeLock」があるかどうかはわかりません。 SMSが届く前に、デバイスが眠ってしまっている可能性は考えられますが、とにかくできることは何もありません。 – CommonsWare

1

私は応答を待つためのワockロックを作成する必要はないと思います。ここに私の考えがあります。まず、何らかの理由で放送受信機が放送を受信しないと想像してください。それからあなたは活発なウォークロックを持つでしょう。第二に、放送はあなたの電話を活性化するはずです(なぜなら、ウォークロックが作成されたSMSアプリケーションの例は見たことがないからです)。だから私の視点では、ウォークロックを作成する必要はありません。

関連する問題