Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.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
Android WifiLock不工作?_Android_Wakelock - Fatal编程技术网

Android WifiLock不工作?

Android WifiLock不工作?,android,wakelock,Android,Wakelock,我需要每隔x分钟通过WiFi和HTTP从本地网络上的服务器提取数据。服务正在后台运行,我使用AlarmManager触发查询。设备上的Wifi睡眠策略设置为“从不” 问题是,当屏幕关闭时,设备进入睡眠状态,并且wifi锁似乎无法正确重新连接wifi,因此查询失败 你知道这里怎么了吗 处决 {...} wakeLockUtil.lock(); //wait for wifi to connect (no idea if this is useful) Thread

我需要每隔x分钟通过WiFi和HTTP从本地网络上的服务器提取数据。服务正在后台运行,我使用AlarmManager触发查询。设备上的Wifi睡眠策略设置为“从不”

问题是,当屏幕关闭时,设备进入睡眠状态,并且wifi锁似乎无法正确重新连接wifi,因此查询失败

你知道这里怎么了吗

处决

   {...}

    wakeLockUtil.lock();

    //wait for wifi to connect (no idea if this is useful)
    Thread.sleep(3000);

    doQuery();

    wakeLockUtil.unlock();

   {...}
韦克洛克

public WakeLockUtil(Context context) {

    wifiLock = ((WifiManager) context.getSystemService(Context.WIFI_SERVICE)).createWifiLock(WifiManager.WIFI_MODE_FULL,
            "PeriodUpdateWifiLock");
    wakeLock = ((PowerManager) context.getSystemService(Context.POWER_SERVICE)).newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
            "PeriodUpdateWakeLock");

}

public void lock() {
    System.out.println("WakeLockUtil.lock()");
    try {
        wakeLock.acquire();
        wifiLock.acquire();
    } catch (Exception e) {
        Log.e(this.getClass().getSimpleName(), "Error getting Lock: " + e.getMessage());
    }

}

public void unlock() {
    System.out.println("WakeLockUtil.unlock()");
    if (wakeLock.isHeld())
        wakeLock.release();
    if (wifiLock.isHeld())
        wifiLock.release();
}

我在一些设备上看到过问题,当屏幕关闭时,部分唤醒锁定和WifiLock:WIFI\u MODE\u FULL\u HIGH\u PERF组合无法完全工作。很烦人。到目前为止,我唯一的解决方案是使用。

我看到一些设备出现问题,当屏幕关闭时,部分唤醒锁定和WifiLock:WIFI\u模式\u FULL\u HIGH\u性能组合无法完全工作。很烦人。到目前为止,我唯一的解决方案是使用。

这在我的用例中不起作用,但还是要感谢提示:)这在我的用例中不起作用,但还是要感谢提示:)请参阅