Trước khi đánh dấu bài đăng này là "trùng lặp", tôi viết bài này vì không có bài nào khác nắm giữ giải pháp cho vấn đề.
Tôi đang cố gắng tắt thiết bị, sau một vài phút hoặc cảm biến thay đổi, hãy bật lại.
Tắt kiểm tra hiển thị
Tôi có thể tắt màn hình bằng cách sử dụng:
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0;
getWindow().setAttributes(params);
Tôi không thể tắt màn hình bằng phương thức wl.release ().
Bật kiểm tra màn hình
Dự đoán đầu tiên của tôi, như sau, không hoạt động. Không có gì xảy ra, màn hình vẫn tắt.
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = -1f;
getWindow().setAttributes(params);
Sau đó, tôi cũng đã thử sử dụng wakelocks, nhưng không thành công.
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "tag");
wl.acquire();
Cuối cùng tôi đã thử những điều sau đây, không có kết quả.
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
Nói chung, tôi không gặp bất kỳ loại lỗi nào trong bảng điều khiển cho bất kỳ phương pháp nào trong số này. Văn bản kiểm tra của tôi "Màn hình phải bật", hiển thị trên màn hình khi tôi bật thiết bị bằng nút nguồn. Điều này cho thấy mã lẽ ra đã chạy. Vui lòng chỉ trả lời nếu bạn đã kiểm tra mã, có vẻ như nhiều chức năng chẳng hạn như params.screenBrightness = -1, không hoạt động như chúng nên theo sdk.