2011-07-22 20 views
2

私はWi-Fi接続がある限り、フォアグラウンドサービスを提供しています。サービスの期間中、WifiLockを保持します。画面が消えて約15分待つまで、すべてがうまく動作します。 Wifiとの接続が切断され(ログに表示され、android.net.wifi.STATE_CHANGEブロードキャスト受信者が開始されるため)、私が保持しているソケットが接続タイムアウト例外をスローします。その後、Wifiは新しい接続を開始します。Android:WifiLockを使用していてもWi-Fiがオフになっています

私は自分のWifiLockを削除し、代わりにWifiスリープポリシーを「決して」に変更しても同じことが起こります。しかし、画面がロックされなくなるまで、Wi-Fiを一切オフにするだけです。

この問題を解決したものが見つかりませんでした。すべての提案/回避策が評価されています。そうでない場合、私のサービスは新しい接続を使用するだけで、この問題を回避する必要があります。

ギャラクシータブを使用する。

+0

参照してください。 http://stackoverflow.com/questions/5147203/wifi-sleeps-even-with-lock – ahmedre

答えて

0

これはAndroid搭載のバグです。私は今、メッセージが受信されたことを確認するためにクライアントから応答を作成します。それ以外の場合はもう一度やり直してくださいこれは、Wi-Fiがちょうど死んだときにメッセージを送信するという問題を回避することです。

更新

私は、新しいデバイス上のこの特定の問題を見ていません。もともと、この動作はGalaxyタブで発生しました。

+0

はどのように生きている無線LANを保つためにAlarmManagerを使っ使用することができますか? –

+0

これはソケット接続を無期限に維持する方法を研究していたときの非常に古い質問です。詳細については、http://stackoverflow.com/questions/15254146/android-persistent-socket-connection-rulesを参照してください。 – Alex

+0

お返事ありがとうございました!あなたの他の質問(http://stackoverflow.com/questions/19148765/)は、無線LANを目覚めさせることに取り組んでいます(アラームマネージャーは無線LANに直接関係していません - あなたは 'onReceive()'の間に電話を起こすだけです)よく知っている)。私はあなたが何とかAMを使用していることを暗示したと思って混乱していたので、wifiが目を覚ました - あなたがsc reenをオンにするためにAMを使うことを意図した場合を除いて!私のスキャンの質問についてはここで見てください:http://stackoverflow.com/questions/16137268/ –

関連する問題