1

Android 4.1 デバイスで、Android の設定で [スリープ中に Wi-Fi をオンにする] を有効にしていますが、デバイスがスリープ状態になり、何時間も起動しないと、Wi-Fi への接続が失われます。これはバグですか?

もともと私のコードでは、次のように使用していました。

WifiManager wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
this.wifiLock = wifiManager.createWifiLock("mywifilock");
this.wifiLock.acquire();

しかし、Android 4.1 には Wi-Fi を有効に保つ機能があるため、このコードを削除しました。Wi-Fi 接続を有効にしておくために、アプリで何かする必要がありますか?

私のコードはアクティビティのないサービスとして実行され、AlarmManager を使用して定期的にサービスを実行しています。上記のコードを onCreate に配置して、サービスが毎回再起動されたときに実行されるようにしました。「スリープ時に Wi-Fi をオンにしておく」の目的が何に使用されているのか理解できないかもしれません。なぜウェイクロックが必要なのですか?

また奇妙なのは、同じメーカーの Android 2.3 デバイスで接続が失われないことです。おそらくこれは Android 4.1 のバグでしょうか?

4

1 に答える 1

0

このコードを Activity の onResume() メソッドに入れると、コードが実行されると再び起動します。

于 2013-10-08T05:29:06.347 に答える