[Android] Yêu cầu quyền tự khởi chạy và bỏ hạn chế chạy nền
Yêu cầu quyền tự khởi chạy và bỏ hạn chế chạy nền trong các ứng dụng cần chạy liên tục, khắc phục service bị chết, không hiện thông báo.
Bài viết sẽ hướng dẫn bạn sử dụng thư viện AppKillerManager để yêu cầu quyền tự khởi chạy và bỏ hạn chế chạy nền trong các ứng dụng cần chạy liên tục, khắc phục tình trạng service bị chết, không hiện thông báo.
AppKillerManager là gì?
Một số thiết bị sử dụng Rom Android đã được tùy biến đôi khi khiến các ứng dụng của bạn không hoạt động:
- Ứng dụng của bạn bị giết khi nó không ở foreground
- Thông báo thông báo không xuất hiện
- Service của bạn bị giết bởi chế độ tiết kiệm pin
AppKillerManager là một thư viện để xử lý Trình quản lý ứng dụng, chế độ tiết kiệm pin hoặc tối ưu hóa pin (Xiaomi, Huawei, letv, ...) và ngăn chặn: không hiển thị thông báo, service bị chết, v.v. bằng cách mở các cài đặt của điện thoại người dùng và nhắc người dùng bật chế độ Autostart (Tự khởi chạy) hoặc bỏ ứng dụng của bạn khỏi danh sách hạn chế chạy nền.
Khả năng tương thích
- Samsung (TESTED)
- Huawei (TESTED)
- Xiaomi (TESTED)
- Meizu ( NOT TESTED)
- OnePlus (NOT TESTED)
- Letv (NOT TESTED)
- HTC (NOT TESTED)
- Asus (TESTED)
- ZTE (NOT TESTED)
Sử dụng
- Bước 1: Thêm thư viện vào dự án của bạn
dependencies {
implementation 'com.thelittlefireman:AppKillerManager:2.1.1'
}
- Bước 2:
Cách 1: Sử dụng dialog mặc định
public void startDialog(KillerManager.Actions actions) {
new DialogKillerManagerBuilder().setContext(this).setAction(actions).show();
}
// onCreate
// Tự khởi chạy
startDialog(KillerManager.Actions.ACTION_AUTOSTART);
// Tiết kiệm pin
startDialog(KillerManager.Actions.ACTION_POWERSAVING);
// Thông báo
startDialog(KillerManager.Actions.ACTION_NOTIFICATIONS);
Cách 2: Mở trực tiếp cài đặt
// Mở cài đạt Tiết kiệm pin
KillerManager.doActionPowerSaving(MyContext);
// Mở cài đặt Tự khởi chạy
KillerManager.doActionAutoStart(MyContext);
// Mở cài đặt thông báo
KillerManager.doActionNotification(MyContext);
Cách 3: Tùy biến theo cách của bạn
Kiểm tra thiết bị có cài đặt Tự khởi chạy, Tiết kiêm pin, thông báo hay không sau đó yêu cầu quyền từ người dùng tùy theo nhu cầu của bạn:
// Kiểm tra thiết bị có cài đặt Tiết kiệm pin không
boolean isPowerSavingAvailable = KillerManager.isActionAvailable(this,
KillerManager.Actions.ACTION_POWERSAVING);
// Kiểm tra thiết bị có cài đặt Tự khởi chạy không
boolean isAutostartAvailable = KillerManager.isActionAvailable(this,
KillerManager.Actions.ACTION_AUTOSTART);
Link bài viết gốc: https://github.com/thelittlefireman/AppKillerManager
Cảm ơn các bạn đã đọc bài viết.
Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!