[Học Android] Yêu cầu quyền tự khởi chạy và bỏ hạn chế chạy nền

[Học 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.

admin

Leave a Reply

Your email address will not be published. Required fields are marked *