Tôi muốn gửi thiết bị ở chế độ ngủ hoặc tắt màn hình. Tôi đã điều tra và tìm thấy chủ đề này: Turn off screen on AndroidCách tắt màn hình hoặc gửi thiết bị về chế độ ngủ
Về cơ bản, có ba cách để làm điều đó, nhưng tôi đã tìm thấy vấn đề cho ba:
a) Lựa chọn 1:
PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE);
manager.goToSleep(int amountOfTime);
Vấn đề : Nó gây ra FC. Tôi đã đọc Tôi cần quyền truy cập DEVICE_POWER
nhưng không thể cấp cho các ứng dụng thông thường.
b) Lựa chọn 2:
PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = manager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Your Tag");
wl.acquire();
wl.release();
Vấn đề: này không làm việc cho tôi. Tôi không biết tại sao. Nó không cho tôi một FC, nhưng nó vô hại.
c) Lựa chọn 3:
WindowManager.LayoutParams params = getWindow().getAttributes();
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0;
getWindow().setAttributes(params);
Vấn đề: tôi có thể lấy nó để làm việc nhưng khi cố gắng để bật điện thoại nó những điều kỳ lạ, giống như không muốn trở về, hoặc nếu ứng dụng của tôi ở phía trước, tự động chuyển sang chế độ ngủ ngay sau khi nhấn nút. Điều này trông giống như một mẹo hoặc giải pháp thay vì giải pháp thông thường.
Bất cứ ai có thể cho tôi biết bất kỳ phương pháp hay nào để gửi thiết bị về chế độ ngủ hoặc tắt màn hình có thể chạy mà không có sự cố? Nghe có vẻ hiếm hoi với tôi rằng một chức năng đơn giản như thế này không phải là một cách hay để sử dụng nó (hoặc vì không được tài liệu rõ ràng)
gì nếu tôi muốn nó tắt màn hình và không khóa cho đến khi thời gian khóa màn hình của tôi ra? –