2011-01-11 6 views
3

thisによると、Android C2DMはハートビートメカニズムを使用してソケットを有効に保ち、プッシュメッセージを受信できるようにします。これにより、アクティブなWi-Fi接続で寝る携帯電話にメッセージを届けることができればと願っています。Android C2DM睡眠電話

"delay_while_idle"を '0'に設定して実装しました。メッセージは、電話機の電源が切れている場合には配信されますが、電話機がスリープ状態になった場合には配信されません(間隔は20分、1〜6時間間隔でテストされます)。

私は一部のCPUロック+完全なwifiロックを購入しました。

私は単純に何かを根本的に間違えたか、C2DMプッシュ機能を誤解しましたか?

寝室に電話をかけてもいいですか?

+0

睡眠中の携帯電話にメッセージを送信することはできますが、いくつかの問題と警告があります。受信機にウェイクロックが設定されていることを確認し、このスレッドで詳細を確認してください。http://groups.google.com/group/android-c2dm/browse_thread/thread/31a3fcae20a8267c –

+0

これはソリューション、その後: 「すべて、 私はアンドロイド2.3は、開発者がこの問題を回避できるようになると思い 私はSIPアプリケーションの作者だ(CSipSimple - googlecodeの検索;)) のソースを読みました。 Android 2.3のSIPストックアプリケーション私は彼らが新しいタイプのwifiロックを使用していることに気付きました.... それは:WifiManager.WIFI_MODE_FULL_HIGH_PERF(int 3)。 " – marko

+0

Wi-Fiスリープポリシーを変更しようとしましたか? –

答えて

2

wakelocksの代わりにalarmmanagerを使用すると、電話機を十分に生き続けることができます。このimplementationを参照してください。これの変種をテストします。