WiFi锁不起作用,如何防止wifi省电?

时间:2011-12-16 08:56:38

标签: android wifi wifimanager android-wake-lock

我做了一个应用程序,将手机转换为网络摄像头,并使用手机连接将图像发送到互联网网络空间。

我正在使用广告活动,将警报管理器设置为每隔5或15分钟执行一次服务。 为了执行服务的整个执行,我执行唤醒锁定,但在服务完成时它会被删除。

所有这一切都适用于移动连接,但不同于wifi。

我已经在wifi选项中设置了“从不”用于wifi睡眠的政策。 但过了一段时间(并不总是一样),手机似乎进入省电模式:wifi图标尚未处于状态栏,但手机无法连接。即使我使用浏览器...所以我必须断开连接并手动重新连接。 logcat中的消息:notify conn break (IOEx), close connection 即使电话插上电源!!!

为什么呢? (1)

尝试使用启动服务的活动形成的另一个应用程序,该服务始终使用唤醒锁运行。所以我已经添加了wifi锁以确保连接,但是这种方法有时会运行而另一些则没有。总是一样notify conn break (IOEx), close connection为什么? (2)

最后一个实验是从第一个应用程序(警报管理器)派生出来的,并且确保wifi不会进入睡眠/省电模式(一个??)我在执行后将手机转为飞行模式代码,我在循环开始时关闭它(连接)。这项工作可以使用两天,但有时它只能工作(每隔一小时或两小时,而不是每5分钟,或有时一整天都不工作,然后无任何理由重启......)。那么,为什么飞机模式有时不会重新建立先前的无线连接? (还有一些时候呢?)(3)

该手机是原装2.2的三星Galaxy ACE,并且始终可以充电。

1 个答案:

答案 0 :(得分:5)

要防止设备进入“省电模式”,请尝试使用WIFI_MODE_FULL_HIGH_PERF类型的wifi锁定 它直到android 3.1才公开 但你仍然可以通过硬编码使用它,WIFI_MODE_FULL_HIGH_PERF的值是3(int)。
我在3.1之前的设备上尝试过它。它就像一个魅力!祝你好运!