Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取WiFi wakelock不会使Android设备上的WiFi保持活动状态_Java_Android_Android Service_Wifi_Wifimanager - Fatal编程技术网

Java 获取WiFi wakelock不会使Android设备上的WiFi保持活动状态

Java 获取WiFi wakelock不会使Android设备上的WiFi保持活动状态,java,android,android-service,wifi,wifimanager,Java,Android,Android Service,Wifi,Wifimanager,我正在开发一个应用程序,它有一个服务,不断上传的东西,它需要使用WiFi。当我关闭屏幕时,大约半小时后,应用程序停止上传。打开屏幕,我可以看到WiFi没有连接,它在几秒钟内重新连接。我相信WiFi会睡着的 为了防止WiFi进入睡眠状态,我安装了WiFi唤醒锁。然而,这似乎没有什么区别,WiFi仍然会进入睡眠状态。我做错了什么?如何保持WiFi的活力?我正在获取wakelock,如下所示: public MyService extends Service{ private WifiMana

我正在开发一个应用程序,它有一个服务,不断上传的东西,它需要使用WiFi。当我关闭屏幕时,大约半小时后,应用程序停止上传。打开屏幕,我可以看到WiFi没有连接,它在几秒钟内重新连接。我相信WiFi会睡着的

为了防止WiFi进入睡眠状态,我安装了WiFi唤醒锁。然而,这似乎没有什么区别,WiFi仍然会进入睡眠状态。我做错了什么?如何保持WiFi的活力?我正在获取wakelock,如下所示:

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);
    }
}