From 3d3b6b580296eb816c9e4043d6e818466292cf58 Mon Sep 17 00:00:00 2001 From: miaoc Date: Fri, 16 Jul 2021 11:52:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=94=B5=E6=B1=A0=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E7=99=BD=E5=90=8D=E5=8D=95=E8=AE=BE=E7=BD=AE=E5=92=8C?= =?UTF-8?q?=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 1 + .../idormy/sms/forwarder/SettingActivity.java | 13 ++++++- .../sms/forwarder/utils/KeepAliveUtils.java | 38 +++++++++++++++++++ app/src/main/res/layout/activity_setting.xml | 10 +++++ app/src/main/res/values/strings.xml | 2 + 5 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/com/idormy/sms/forwarder/utils/KeepAliveUtils.java 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="恢复初始化配置" /> +