diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f5cab0eb..c6eb3bca 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -21,6 +21,7 @@ + = android.os.Build.VERSION_CODES.M && powerManager != null) { + return powerManager.isIgnoringBatteryOptimizations(activity.getPackageName()); + } else { + return true; + } + } + + public static void ignoreBatteryOptimization(Activity activity) { + if (isIgnoreBatteryOptimization(activity)) { + return; + } + Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS); + intent.setData(Uri.parse("package:" + activity.getPackageName())); + ResolveInfo resolveInfo = activity.getPackageManager().resolveActivity(intent, 0); + if (resolveInfo != null) { + activity.startActivity(intent); + } else { + Toast.makeText(activity, R.string.unsupport, Toast.LENGTH_SHORT).show(); + } + } +} diff --git a/app/src/main/res/layout/activity_setting.xml b/app/src/main/res/layout/activity_setting.xml index e61e73ba..2509e80c 100644 --- a/app/src/main/res/layout/activity_setting.xml +++ b/app/src/main/res/layout/activity_setting.xml @@ -293,6 +293,16 @@ android:padding="0dp" android:text="恢复初始化配置" /> +