Tôi đang phát triển một ứng dụng báo thức. Từ hoạt động chính tôi đặt báo thức bằng phát sóng. Sau đó trong onReceive trong phát sóng nhận tôi gọi hoạt động đó là cho phép người dùng tắt hoặc báo lại báo động ... Trong hoạt động đó, vào đầu của onCreate tôi sử dụng dòng này để bật màn hình và mở khóa thiết bị:Bật màn hình theo cách lập trình trong android
final Window win = getWindow();
win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
Công trình này hoàn hảo trên Samsung Galaxy S2 với Android 2.3.4 nhưng không hoạt động trên HTC với Android 2.3.5. Trên htc nó không có gì, và khi tôi nhấn nút khóa màn hình tự động mở ra mà không có tôi kéo vòng tròn. Giống như flag_dissmiss_keygard của nó đang hoạt động nhưng flag_turn_screen_on isnt. Có một cách khác hay giải pháp khác để làm điều này?
Tôi đã thử nó trên Nexus One (2.3.6) và Nexus S (4.1.1) và nó hoạt động khá tốt. – nifo
Nhà phát triển, tôi cầu xin bạn: xin đừng làm điều này !!! Chỉ muốn đưa ra cảnh báo rằng việc tắt trình bảo vệ phím sẽ thực hiện những gì nó nói: nó sẽ bỏ qua mọi mã PIN hoặc Mở khóa mẫu. Hãy thử một báo chí dài của nhà (bánh gừng) hoặc nút chuyển đổi ứng dụng (ICS) và bạn sẽ thấy những gì tôi có ý nghĩa. Tôi không gặp vấn đề gì khi sử dụng các thông số bố cục trên các điện thoại phổ biến nhất và số lượng điện thoại Gingerbread sẽ giảm hàng ngày. Vui lòng xem xét lại cờ cửa sổ! –
Hey @PatrickHorn bạn có thể chỉ định ví dụ về thiết bị mà trong đó điều này bỏ qua màn hình khóa mã PIN hay không. Trong các bài kiểm tra của tôi, tôi có thể hiển thị một màn hình cho người dùng với thông điệp tôi muốn và người thứ hai cố gắng nhấn vào nhà hoặc chuyển đổi ứng dụng, anh ấy nhận được màn hình PIN. Vì vậy, nó có vẻ đủ an toàn với tôi. – marmor