Vì vậy, trong một thời gian dài tôi nghĩ rằng tôi biết làm thế nào để ngăn chặn các màn hình từ đi vào chế độ ngủ, tôi chỉ đơn giản là sử dụng mã này trong Hoạt động của tôi:Giữ màn hình trên trong Hoạt động - không làm việc với FLAG_KEEP_SCREEN_ON
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Tuy nhiên, tôi nhận ra rằng điều này chỉ hoạt động khi điện thoại của tôi ở chế độ "nhà phát triển", tức là khi gỡ lỗi usb (Cài đặt -> Tùy chọn nhà phát triển -> Gỡ lỗi USB) đã được bật/kiểm tra. Sau đó, các mã trên thực sự dừng màn hình/thiết bị để đi ngủ.
Khi gỡ lỗi đó không được chọn, sau đó màn hình của tôi chuyển sang chế độ ngủ như không có ngày mai. Tôi đang chạy Android 4.04 trên thiết bị của mình và
android:minSdkVersion="12"
android:targetSdkVersion="16"
Có ai biết về vấn đề này không?
EDIT
tôi đã thử nghiệm với Commonswares gợi ý, và thêm setKeepScreenOn() vào mã, vì vậy nó trông như thế này:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
View root = findViewById(android.R.id.content);
if (root != null)
root.setKeepScreenOn(true);
Tôi cũng đã kiểm tra để mã này là thực sự đã được thực thi, và đúng vậy. Nhưng nó không thay đổi một điều ...
Hãy thử, nhưng dường như FLAG_KEEP_SCREEN_ON thậm chí có thể hoạt động nếu ứng dụng được "triển khai" qua Eclipse, nhưng * không * nếu tôi tải xuống chính mã giống như vậy từ Google Play. Và, tất cả mọi người "trên mạng" đều nói rằng FLAG_KEEP_SCREEN_ON hoạt động ... Tôi không thể là người duy nhất có vấn đề này? – Ted
Vì tôi chưa bao giờ sử dụng 'FLAG_KEEP_SCREEN_ON' và chỉ sử dụng' setKeepScreenOn() '(vì nó đơn giản hơn), tôi không thể nhận xét về hiệu quả của mã' FLAG_KEEP_SCREEN_ON' của bạn. – CommonsWare
Ok, nó cũng không hoạt động với setKeepScreenOn(). – Ted