2011-12-16 22 views
8

Tôi đã thực hiện một ứng dụng biến điện thoại thành webcam và sử dụng kết nối điện thoại để gửi hình ảnh đến không gian web internet.Khóa Wi-Fi không hoạt động, cách ngăn chặn việc tiết kiệm năng lượng wifi?

Tôi đang sử dụng hoạt động quảng cáo đặt Trình quản lý báo thức để thực hiện Dịch vụ sau mỗi 5 hoặc 15 phút. Để thực hiện toàn bộ việc thực hiện Dịch vụ, tôi thực hiện khóa chế độ thức ăn, nhưng nó bị mất khi dịch vụ được bổ sung.

Tất cả điều này hoạt động hoàn hảo với kết nối di động nhưng không thực hiện tương tự với wifi.

Tôi đã đặt trong tùy chọn wifi chính sách thứ "KHÔNG BAO GIỜ" cho ngủ qua wifi. Nhưng sau một thời gian (không phải lúc nào cũng giống nhau) điện thoại dường như bật chế độ tiết kiệm điện: biểu tượng wifi vẫn ở trên thanh trạng thái nhưng điện thoại không thể kết nối. Thậm chí là tôi sử dụng trình duyệt ... vì vậy tôi phải ngắt kết nối và kết nối lại theo cách thủ công. Thông báo trong nhật ký: notify conn break (IOEx), close connection Ngay cả khi điện thoại đã được cắm nguồn !!!

lý do tại sao? (1)

Thực hiện thử nghiệm với một ứng dụng khác được hình thành bởi một hoạt động bắt đầu dịch vụ luôn chạy bằng khóa chế độ thức. Vì vậy, tôi đã thêm các khóa wifi để đảm bảo kết nối, nhưng cũng có phương pháp này đôi khi chạy và một số khác không. Luôn giống như notify conn break (IOEx), close connection tại sao? (2)

Thử nghiệm cuối cùng có nguồn gốc từ ứng dụng đầu tiên (trình quản lý báo thức) và để đảm bảo rằng wifi không chuyển sang chế độ ngủ/tiết kiệm điện (phù thủy một) tôi đã bật điện thoại trên máy bay chế độ sau khi thực thi mã và tôi tắt nó (kết nối trên) khi chu kỳ bắt đầu. Công việc này ok trong hai ngày, nhưng sau khi đôi khi nó hoạt động (mỗi hoặc hai giờ thay vì mỗi 5 phút, hoặc đôi khi không hoạt động trong một ngày và sau đó khởi động lại mà không có lý do nào ..). Vì vậy, tại sao chế độ máy bay đôi khi không tái thiết lập kết nối wifi độc hại? (và một số lần khác?) (3)

Điện thoại là một Samsung Galaxy ACE với nguyên bản 2.2 và LUÔN được cắm để sạc.

+0

có thể trùng lặp: http://stackoverflow.com/questions/5147203/wifi-sleeps-even-with-lock –

Trả lời

5

Để giữ thiết bị không tham gia 'chế độ tiết kiệm điện', hãy thử sử dụng khóa wifi loại WIFI_MODE_FULL_HIGH_PERF Tính năng này không có sẵn công khai cho đến khi Android 3.1.
nhưng bạn vẫn có thể sử dụng nó bằng mã hóa cứng, giá trị của WIFI_MODE_FULL_HIGH_PERF là 3 (int).
Tôi đã thử trên thiết bị trước 3.1. Nó hoạt động như một say mê! chúc may mắn!