Khi tôi nhấn nút ngủ trên Droid, hoạt động của tôi sẽ được gọi. Tại sao điều đó lại xảy ra? Tại sao hệ điều hành muốn gọi OnCreate khi thiết bị đang ngủ? Có cách nào để ngăn chặn nó, hoặc ít nhất biết đó là vì điện thoại đã được đưa vào giấc ngủ?Hoạt động OnCreate được gọi khi điện thoại chuyển sang chế độ ngủ
Trả lời
Điều này xảy ra đặc biệt đối với các hoạt động bị khóa xoay, ví dụ: có điều này trong tệp kê khai trong các thẻ hoạt động:
android:screenOrientation="portrait"
Khi bạn tắt màn hình để xác định hướng đúng và thay đổi điều đó trước khi tắt.
Vì vậy, có, giải pháp đơn giản là thêm configChanges là tốt, làm cho nó trông giống như thế này:
<activity
android:name=".MyActivity"
android:screenOrientation="landscape"
android:configChanges="orientation"
/>
Bạn không cần phải chỉ ra screenOrientation, nhưng nếu bạn không bất cứ định hướng đó là khi nó bắt đầu là nơi nó sẽ ở lại trừ khi bạn viết mã để xử lý các thay đổi cấu hình.
Là một lưu ý phụ, khi tôi bắt đầu thử nghiệm các ứng dụng của mình trên ICS, tôi đã phải xử lý một vài thao tác với một chu trình tạo/hủy/tạo khi bắt đầu một số hoạt động. Một vài kiểm tra bổ sung và số dư là cần thiết để làm cho mã phổ quát.
Bạn có thêm thông tin về cách hoạt động của tính năng này trên ICS không? Tôi đã gặp sự cố này trên các thiết bị chạy 2.3.3 và 4.0.4. Giải pháp của bạn hoạt động trên thiết bị 2.3.3 của tôi, nhưng onCreate() vẫn được gọi sau khi ngủ trên 4.0.4 của tôi. –
Sự cố có thể do thiết bị có định hướng mã hóa cứng cho màn hình khóa. Để kiểm tra cho điều này, làm cho định hướng bị khóa của bạn đối diện (có khả năng chân dung). Điều đó có thể làm cho thêm onCreate biến mất, và cung cấp cho bạn một điểm khởi đầu để tìm cách nuốt thay đổi định hướng không liên quan. – ProjectJourneyman
Cảm ơn bạn. Bạn đa đung. Tôi tìm thấy một giải pháp bằng cách thêm screenSize vào configChanges như thế này 'android: configChanges =" orientation | screenSize "'. Từ tài liệu: "Lưu ý: Nếu ứng dụng của bạn nhắm mục tiêu cấp API 13 trở lên (như được khai báo bởi thuộc tính minSdkVersion và targetSdkVersion), thì bạn cũng nên khai báo cấu hình" screenSize ", vì nó cũng thay đổi khi thiết bị chuyển giữa chế độ dọc và ngang định hướng. " –
tôi đã có Prob cùng ứng dụng của tôi (trò chơi) nạp lại bất cứ khi nào nó đến từ giấc ngủ
đây những gì tôi đã làm để giải quyết nó
i thêm
<activity
android:configChanges="orientation|screenSize"
/>
hy vọng điều này sẽ giúp một ai đó!
Điều này làm việc cho tôi. Cảm ơn – RJB
- 1. Kết thúc hoạt động gọi điện thoại khi AsyncTask hoàn
- 2. Vòng đời hoạt động của Android sau khi ra khỏi chế độ ngủ
- 3. "gọi" sau khi chuyển sang Chế độ được bảo vệ
- 4. Làm cách nào để biết khi nào Windows đang chuyển sang chế độ ngủ hoặc chế độ Ngủ đông?
- 5. sự khác biệt giữa chế độ Ngủ và chế độ Ngủ sâu là gì?
- 6. AlarmManager không hoạt động ở chế độ ngủ
- 7. SSRS - Quá trình chết/chuyển sang chế độ ngủ sau khi không được sử dụng
- 8. Sự kiện cho iphone tự động chuyển sang chế độ ngủ
- 9. Chế độ xem dựa trên Lớp gọi điện thoại Django từ chế độ xem lớp khác
- 10. Dịch vụ Windows hoạt động như thế nào khi vào/thức dậy từ chế độ ngủ hoặc ngủ đông?
- 11. Chuyển ứng dụng sang điện thoại
- 12. Buộc điện thoại Android ngủ, để kiểm tra?
- 13. Cách khôi phục chế độ xem trước máy ảnh từ chế độ ngủ?
- 14. Gọi chế độ hồ sơ trên điện thoại Android tại thời điểm cụ thể
- 15. Điều gì xảy ra với kết nối TCP khi máy tính chuyển sang chế độ ngủ?
- 16. Cách kích hoạt cuộc gọi điện thoại khi nhấp vào liên kết trong trang web trên điện thoại di động
- 17. Tắt chế độ ngủ trên một số hoạt động nhất định
- 18. Quay số cuộc gọi điện thoại khi nhấp vào chế độ xem văn bản trong android
- 19. Làm cách nào để khôi phục từ máy tính khách WebSocket chuyển sang chế độ ngủ hoặc ứng dụng chuyển sang chế độ nền (Safari trên iPad)
- 20. Xử lý NFC khi điện thoại đang ngủ trong Android
- 21. Chạy ứng dụng IPhone khi đang ở chế độ ngủ
- 22. window.scrollTo không hoạt động trong điện thoại di động
- 23. Hình động và Điện thoại không hoạt động trên điện thoại di động
- 24. Sự kiện nào được kích hoạt khi Mac quay lại chế độ ngủ?
- 25. Chạy ứng dụng/dịch vụ ở chế độ ngủ sâu?
- 26. Hoạt động bị giết/onCreate được gọi sau khi chụp ảnh thông qua mục đích
- 27. Màn hình hoạt động không xoay khi tôi xoay điện thoại di động
- 28. Cách điện thoại thực sự hoạt động?
- 29. Bật chế độ đảm bảo sẽ được gọi khi Activity không còn hoạt động?
- 30. Cách mô phỏng chế độ ngủ trên trình giả lập Android
Bạn chắc chắn ứng dụng của mình không khởi động lại do thay đổi định hướng? –
Nó không phải. Nó xảy ra với chiếc điện thoại ngồi hoàn toàn trên bàn của tôi. Khi tôi nhấn nút ngủ, onDestroy được gọi, sau đó bằng cách nào đó một hoạt động mới đang bắt đầu. – iterator
Tôi nên chỉ ra rằng nó đang chuyển cho tôi một savedInstanceState hợp lệ khi khởi chạy lại. – iterator