diff --git a/app/src/main/java/com/nbee/echolink/utils/BatteryOptimizationUtil.java b/app/src/main/java/com/nbee/echolink/utils/BatteryOptimizationUtil.java index 9510323..b085d8e 100644 --- a/app/src/main/java/com/nbee/echolink/utils/BatteryOptimizationUtil.java +++ b/app/src/main/java/com/nbee/echolink/utils/BatteryOptimizationUtil.java @@ -32,19 +32,22 @@ public class BatteryOptimizationUtil { * 请求将应用加入电池优化白名单。 */ public static void requestIgnoreBatteryOptimization(Context context) { + if (isAppIgnoringBatteryOptimizations(context)) { + Timber.d("已在忽略电池优化白名单"); + return; + } Timber.d("请求电池优化白名单"); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { String packageName = context.getPackageName(); PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); if (pm != null && !pm.isIgnoringBatteryOptimizations(packageName)) { - Intent intent = new Intent(); + Intent intent = new Intent(Intent.ACTION_VIEW); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS); intent.setData(Uri.parse("package:" + packageName)); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // 添加FLAG_ACTIVITY_NEW_TASK标志 context.startActivity(intent); } } } - -} \ No newline at end of file +}