diff --git a/app/src/main/java/com/nbee/echolink/async/BatteryOptimizationTask.java b/app/src/main/java/com/nbee/echolink/async/BatteryOptimizationTask.java new file mode 100644 index 0000000..5ef62b4 --- /dev/null +++ b/app/src/main/java/com/nbee/echolink/async/BatteryOptimizationTask.java @@ -0,0 +1,30 @@ +package com.nbee.echolink.async; + +import static android.content.Context.POWER_SERVICE; + +import android.content.Context; +import android.os.AsyncTask; +import android.os.PowerManager; + +import com.nbee.echolink.utils.BatteryOptimizationUtil; + +import timber.log.Timber; + +public class BatteryOptimizationTask extends AsyncTask { + private Context context; + + public BatteryOptimizationTask(Context context) { + this.context = context; + } + + @Override + protected Void doInBackground(Void... voids) { + PowerManager powerManager = (PowerManager) context.getSystemService(POWER_SERVICE); + boolean hasIgnored = powerManager.isIgnoringBatteryOptimizations(context.getPackageName()); + if (!hasIgnored) { + BatteryOptimizationUtil.requestIgnoreBatteryOptimization(context); + Timber.d("请求忽略电池优化"); + } + return null; + } +}