2016-02-02 26 views
9

Có thể phát hiện khi thiết bị nhập Doze/Chế độ chờ không? Tôi đã không thể tìm thấy bất kỳ thứ gì trong tài liệu Android về Trình phát hoặc Trình nghe có thể phát mà tôi có thể bật hoặc tạo để nhận thông báo về các chuyển tiếp này.Phát hiện trạng thái Doze

Trả lời

16

Tôi tin rằng Intent bạn đang tìm kiếm là ACTION_DEVICE_IDLE_MODE_CHANGED. Từ tài liệu:

Mục đích được phát khi trạng thái của isDeviceIdleMode() thay đổi. Chương trình phát sóng này chỉ được gửi tới người nhận đã đăng ký.

Các tài liệu cho isDeviceIdlemode là như sau:

Returns true nếu thiết bị đang ở chế độ nhàn rỗi. Điều này xảy ra khi một thiết bị đã được ngồi không sử dụng và unmoving cho một khoảng thời gian đủ dài, do đó nó quyết định đi vào một trạng thái sử dụng năng lượng thấp hơn. Điều này có thể liên quan đến những thứ như tắt quyền truy cập mạng vào ứng dụng. Bạn có thể theo dõi các thay đổi đối với trạng thái này với ACTION_DEVICE_IDLE_MODE_CHANGED.

Returns

trả về true nếu hiện trong thiết bị chế độ hoạt động nhàn rỗi, nếu không sai. Đây là khi các hạn chế chế độ không hoạt động đang được áp dụng tích cực; nó sẽ trả về false nếu thiết bị đang ở chế độ chờ lâu dài nhưng hiện đang chạy một cửa sổ bảo trì nơi các giới hạn đã được gỡ bỏ.

+0

thú vị? là nó dự kiến ​​sẽ chỉ ra giá trị đúng trong chế độ doze là tốt? cho rằng bất kỳ công việc cpu thực sự dừng lại [để thậm chí chạy phương pháp này], từ những gì tôi biết. –

+0

trông giống như doze và nhàn rỗi không giống nhau. gây nhầm lẫn vì điều đó có thể là –

+0

thực sự khó hiểu. vậy mục đích này sẽ bị bắn trước khi điện thoại vào chế độ doze? – lelloman

Các vấn đề liên quan