我正在开发一个应用程序,它有一个服务,可以不断上传需要使用WiFi的东西。当我关闭屏幕时,大约半小时后,应用程序停止上传。打开屏幕,我可以看到WiFi未连接,并在几秒钟内重新连接。我相信WiFi会睡觉。
为了防止WiFi进入睡眠状态,我获得了WiFi唤醒锁。然而,这似乎没有任何区别,WiFi仍然进入睡眠状态。我做错了什么,如何让WiFi保持活力?我正在收集如下的唤醒锁:
public MyService extends Service{
private WifiManager wifiManager;
private WifiManager.WifiLock wifiLock;
@Override
public void onCreate(){
super.onCreate();
wifiManager = (WifiManager) getApplicationContext().getSystemService(getApplicationContext().WIFI_SERVICE);
wifiLock = wifiManager.createWifiLock(WifiManager.WIFI_MODE_FULL, "LockTag");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId){
new Thread(){
@Override
public void run(){
wifiLock.acquire();
while(True){
uploadFiles();
Thread.sleep(1000);
}
wifiLock.release();
}
}.start();
return super.onStartCommand(intent, flags, startId);
}
}