2017-12-26 133 views
6

Trình lập lịch biểu công việc không kích hoạt khi pin xuống dưới 15%. Có cách nào để ghi đè vấn đề pin không. Thiết bị này chỉ được sử dụng cho một ứng dụng cụ thể và không có gì khác sẽ chạy.Trình lập lịch biểu công việc không được kích hoạt tại thời điểm

Thiết bị là Lenovo Tab 3 A7-10 và chạy trên Android Lollipop (5.0.1).

jobScheduler.schedule(new JobInfo.Builder(MY_JOB_ID, 
       new ComponentName(applicationContext, MyJob.class)) 
       .setPeriodic(syncInterval) 
       .build()); 

Cảm ơn

Trả lời

0

Theo Android Developers Documentation,

JobInfo.isRequireBatteryNotLow() 

khẳng định rằng:

Job không chạy nếu mức pin bằng hoặc thấp hơn ngưỡng criticial; đây là cấp độ mà thiết bị hiển thị hộp thoại hệ thống cảnh báo pin yếu.

Ngoài ra,

setRequiresBetteryNotLow(boolean batteryNotLow) 

here bang rằng:

Chỉ định rằng để chạy công việc này, mức pin của thiết bị không phải là thấp. Giá trị mặc định này là false. Nếu đúng, công việc sẽ chỉ chạy khi mức pin không thấp, thường là điểm mà người dùng được cảnh báo "pin yếu".

Thật không may, đối với bên dưới API 26, có ít quyền truy cập hơn với Trình lập lịch biểu công việc và cách bạn có thể sử dụng nó. Có thể bạn không thể sử dụng các phương pháp tôi đã đề cập, bên dưới API 26. Bạn có thể tìm thấy bằng chứng hỗ trợ tại đây: Android JobScheduler

Firebase JobDispatcher phục vụ như lớp tương thích JobScheduler cho các ứng dụng nhắm mục tiêu các phiên bản Android thấp hơn 5.0 (API cấp 21). Tôi không chắc chắn nếu nó sẽ cho phép bạn đạt được kịch bản mong muốn của bạn nhưng có một cái nhìn vào nó.

Cảm ơn @ianhanniballake vì đã cải thiện câu trả lời và thu hút sự chú ý đến điều này.

+0

Đó API đã được bổ sung trong API 26 và không áp dụng đối với một Rất tiếc, thiết bị API 21. – ianhanniballake

+0

@ianhanniballake Tài liệu dành cho nhà phát triển Android đã làm rõ điều này tại đây: https://developer.android.com/topic/performance/scheduling.html#js –

+0

@ianhanniballake Tôi cũng đọc tài liệu cho cùng. Có cách nào để thực hiện tương tự trong API 21 không? –

0

Với tham chiếu đến Android Framework JobScheduler

JobInfo.isRequireBatteryNotLow() 

Job không chạy nếu mức pin bằng hoặc thấp hơn ngưỡng criticial; đây là cấp độ mà thiết bị hiển thị hộp thoại hệ thống cảnh báo pin yếu.

Firebase JobDispatcher

căn cứ hỏa lực JobDispatcherAPI tối thiểu 9Yêu cầu Google Play JobScheduler Tuỳ chỉnh thử chiến lược

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