2010-06-14 41 views
5

Tôi đang phát triển một ứng dụng mà tôi cần kết nối TCP để duy trì trạng thái hoạt động. Tôi đã thực hiện một loại hệ thống ping/pong để làm điều này. Nó hoạt động hoàn hảo khi màn hình bật, nhưng khi điện thoại tắt, điện thoại sẽ ngừng đáp ứng các ping sau một thời gian. Tôi đã tạo một khóa trỗi dậy Wi-Fi nhưng tôi vẫn đang gặp vẫn cùng một vấn đề ..Khóa chế độ thức dường như không hoạt động

Đây là mã của tôi:

private static WifiManager wm = getSystemService(this.WIFI_SERVICE); 
private static WifiLock wl = null; 

public static void lock(){ 
    wl = wm.createWifiLock(WifiManager.WIFI_MODE_FULL , App.TAG); 
    if(!wl.isHeld()){ 
     wl.acquire(); 
    } 
} 

public static void unlock(){ 
    if(wl != null){ 
     if(wl.isHeld()){ 
      wl.release(); 
     } 
    } 
} 

Bất kỳ ý tưởng?

+0

Bạn đã gọi phương thức 'obtain()' trên đối tượng WakeLock chưa? –

+0

Khóa Wi-Fi thức dậy là gì? Bạn có nghĩa là khóa màn hình? –

+0

Tôi đã cập nhật câu hỏi với mã số – shuwo

Trả lời

2

Bạn phải mua lại PowerLock từ here với cờ SCREEN_DIM_WAKE_LOCK/PARTIAL_WAKE_LOCK.

+0

để không thể bật Wi-Fi khi màn hình tắt hoàn toàn? – shuwo

+1

Không. Có thể. WiFi-Lock giúp bạn không bị mất kết nối. Bạn cũng có thể sử dụng PARTIAL_WAKE_LOCK. Tôi nghĩ rằng vấn đề là bạn không có được CPU-Lock, vì vậy mã của bạn không được thực hiện. –

Các vấn đề liên quan