Làm cách nào để ngăn hoạt động tái tạo màn hình khi tắt màn hình?Ngăn không cho tái tạo hoạt động Android khi tắt màn hình
Những gì tôi làm
- Bắt đầu Bejewels và đi đến màn hình đồ trang sức.
- Nhấn nút nguồn ngay. Màn hình tắt, nhưng thiết bị thì không.
- Nhấn nút nguồn một lần nữa.
Những gì tôi thấy
Màn hình giống như trước khi quay màn hình tắt.
Trong trường hợp ứng dụng của tôi (tầm thường một, chỉ là một ứng dụng web với một WebView đơn) kịch bản như sau:
Những gì tôi làm
- Bắt đầu của tôi ứng dụng. Phương thức onCreate() hoạt động sẽ tải một URL vào WebView.
- Nhấn nút nguồn ngay. Màn hình tắt, nhưng thiết bị thì không.
- Nhấn nút nguồn một lần nữa.
Những gì tôi thấy
Các WebView được tải lại trang.
gì tôi mong đợi
Như trong trường hợp Bejewels Tôi muốn nhìn thấy cùng một màn hình, mà cho ứng dụng của tôi là trang ở trạng thái trước đó: kịch bản đang chạy, một lĩnh vực hình thức là đã điền, v.v.
Gỡ lỗi cho thấy rằng tôi đã sai (trong câu hỏi trước) và onDestroy() và onCreate() đang được gọi từng người một khi màn hình vừa được bật. Và vì tôi vẫn nghe một bản nhạc, được phát bởi một kịch bản, khi màn hình tắt, có vẻ như cả hoạt động và WebView đều tồn tại cho đến khi tôi nhấn lại nút nguồn.
Những gì tôi đã thử.
- android: alwaysRetainTaskState = "true" Hành vi tương tự.
- Đọc về ý định (không có kết quả, tôi chỉ không hiểu, cách chúng được áp dụng cho trường hợp của tôi).
- Sử dụng PhoneGap. Nó hoạt động khác nhau: chỉ giết toàn bộ ứng dụng khi nhấn nút nguồn.IS này tốt hơn, nhưng không phải là tốt nhất.
Không có gì thay đổi. (Tôi đã không xóa android: alwaysRetainTaskState = "true"). – noober
sau khi nhấn nút nguồn để tắt màn hình và sau đó một lần nữa để màn hình trên onResume() được gọi là, bạn đang làm gì trong onResume()? – Bush
1. Có, onResume() được gọi. Tôi đã kiểm tra nó (ghi đè và gọi là Toast). 2. Xin lỗi vì đã câm, tôi chỉ không đoán tôi đã phải làm một cái gì đó trong onResume(). Vì vậy, nó đã không được ghi đè và bây giờ nó chỉ chứa cuộc gọi Toast. 3. Hành vi bây giờ là như sau: sau khi nhấn nút lần đầu tiên, khi màn hình tắt, trang đang tải lại ở chế độ nền (nhạc dừng để phát sau đó phát từ đầu, có javascript trong phần tải lên của trang web bắt đầu phát nhạc đang chơi). – noober