3

データをリッスンしている Android サービス (TCP と UDP を試しました) が必要で、データが到着したときにサービス/電話をウェイクアップします。

現在、電話は IP データが到着するスリープ状態になり、そのデータは失われます。これはAndroidでは正常ですか?1 日に数回、2 時間以上の睡眠が見られ、眠っているときは 7 時間以上の睡眠が見られます。

GCM は、メッセージが到着したときにサービス/電話を起動するソリューションを提供しましたか?

サーバーからメッセージが送信されてから数秒以内にメッセージを表示する必要があります。

これは、CPU を 1 日中稼働させ続けることによってのみ達成できますか? データの到着時に GSM モデムからの割り込みはありませんか?

4

1 に答える 1

4

私が理解しているように、モバイルデータを介してサーバーへの未解決のソケット接続がある場合、そのソケット接続はスリープモードの間も維持され、着信パケットは電話をスリープモードから (短時間) 復帰させてデータを配信します。

同じことはWiFi には当てはまりません(おそらくハードワイヤード イーサネットにも当てはまりません)。WakeLockaと aを保持する必要がありWifiLockます。

GCM は、メッセージが到着したときにサービス/電話を起動するソリューションを提供しましたか?

はい、でも...

サーバーからメッセージが送信されてから数秒以内にメッセージを表示する必要があります。

まず、GCM にはサービス レベルの保証がありません。自分でロールする可能性のあるもの (MQTT など) を含め、これを実行するソリューションについては知りません。

次に、機内モードなどでデバイスの電源がオフになっている可能性があるため、デバイスがそのようなメッセージ (GCM またはその他) を受信できるかどうかがわかりません。

于 2013-06-03T13:20:39.410 に答える