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 回答