From 64f6ec1369a5d8b105543af5794f0cb1fe9204a2 Mon Sep 17 00:00:00 2001 From: pppscn <35696959@qq.com> Date: Sat, 20 Nov 2021 00:10:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E4=B8=8D=E5=9C=A8?= =?UTF-8?q?=E6=9C=80=E8=BF=91=E4=BB=BB=E5=8A=A1=E5=88=97=E8=A1=A8=E4=B8=AD?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=EF=BC=88=E6=9C=89=E5=88=A9=E4=BA=8E=E4=BF=9D?= =?UTF-8?q?=E6=B4=BB=EF=BC=9F=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../idormy/sms/forwarder/SettingActivity.java | 33 ++++++++++++-- .../idormy/sms/forwarder/utils/Define.java | 1 + .../sms/forwarder/utils/SettingUtil.java | 12 ++++- app/src/main/res/layout/activity_setting.xml | 45 +++++++++++++++---- app/src/main/res/values-en/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 6 files changed, 79 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/idormy/sms/forwarder/SettingActivity.java b/app/src/main/java/com/idormy/sms/forwarder/SettingActivity.java index 42c7c210..66c91d7b 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/SettingActivity.java +++ b/app/src/main/java/com/idormy/sms/forwarder/SettingActivity.java @@ -1,9 +1,12 @@ package com.idormy.sms.forwarder; import android.annotation.SuppressLint; +import android.app.ActivityManager; import android.content.ComponentName; +import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; +import android.os.Build; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; @@ -22,6 +25,7 @@ import com.idormy.sms.forwarder.service.NotifyService; import com.idormy.sms.forwarder.utils.KeepAliveUtils; import com.idormy.sms.forwarder.utils.SettingUtil; +import java.util.List; import java.util.Set; public class SettingActivity extends AppCompatActivity { @@ -71,6 +75,9 @@ public class SettingActivity extends AppCompatActivity { @SuppressLint("UseSwitchCompatOrMaterialCode") Switch switch_enable_app_notify = findViewById(R.id.switch_enable_app_notify); switchEnableAppNotify(switch_enable_app_notify); + @SuppressLint("UseSwitchCompatOrMaterialCode") Switch switch_exclude_from_recents = findViewById(R.id.switch_exclude_from_recents); + switchExcludeFromRecents(switch_exclude_from_recents); + EditText textSmsTemplate = findViewById(R.id.text_sms_template); editSmsTemplate(textSmsTemplate); } @@ -105,6 +112,26 @@ public class SettingActivity extends AppCompatActivity { }); } + //不在最近任务列表中显示 + @SuppressLint("ObsoleteSdkInt") + private void switchExcludeFromRecents(Switch switch_exclude_from_recents) { + switch_exclude_from_recents.setChecked(SettingUtil.getExcludeFromRecents()); + + switch_exclude_from_recents.setOnCheckedChangeListener((buttonView, isChecked) -> { + SettingUtil.switchExcludeFromRecents(isChecked); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + ActivityManager am = (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE); + if (am != null) { + List appTasks = am.getAppTasks(); + if (appTasks != null && !appTasks.isEmpty()) { + appTasks.get(0).setExcludeFromRecents(isChecked); + } + } + } + Log.d(TAG, "onCheckedChanged:" + isChecked); + }); + } + //设置设备名称 private void editAddExtraDeviceMark(final EditText et_add_extra_device_mark) { et_add_extra_device_mark.setText(SettingUtil.getAddExtraDeviceMark()); @@ -196,7 +223,6 @@ public class SettingActivity extends AppCompatActivity { }); } - //接口请求失败重试 private void editRetryDelayTime(final EditText et_retry_delay_time, final int index) { et_retry_delay_time.setText(String.valueOf(SettingUtil.getRetryDelayTime(index))); @@ -314,6 +340,7 @@ public class SettingActivity extends AppCompatActivity { } + //电池优化设置 public void batterySetting(View view) { if (KeepAliveUtils.isIgnoreBatteryOptimization(this)) { Toast.makeText(this, R.string.isIgnored, Toast.LENGTH_SHORT).show(); @@ -322,12 +349,12 @@ public class SettingActivity extends AppCompatActivity { } } - /** * 请求权限 * * @param view 控件 */ + @SuppressWarnings("deprecation") public void requestPermission(View view) { if (!isNLServiceEnabled()) { Intent intent = new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"); @@ -360,7 +387,6 @@ public class SettingActivity extends AppCompatActivity { PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); } - @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); @@ -374,7 +400,6 @@ public class SettingActivity extends AppCompatActivity { } } - private void showMsg(String msg) { Toast.makeText(this, msg, Toast.LENGTH_SHORT).show(); } diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/Define.java b/app/src/main/java/com/idormy/sms/forwarder/utils/Define.java index 78d33cf0..541dbc4f 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/utils/Define.java +++ b/app/src/main/java/com/idormy/sms/forwarder/utils/Define.java @@ -9,6 +9,7 @@ public class Define { public static final String SP_MSG_KEY_STRING_ENABLE_SMS = "tsms_msg_key_switch_enable_sms"; public static final String SP_MSG_KEY_STRING_ENABLE_PHONE = "tsms_msg_key_switch_enable_phone"; public static final String SP_MSG_KEY_STRING_ENABLE_APP_NOTIFY = "tsms_msg_key_switch_enable_app_notify"; + public static final String SP_MSG_KEY_STRING_ENABLE_EXCLUDE_FROM_RECENTS = "tsms_msg_key_switch_enable_exclude_from_recents"; public static final String SP_MSG_KEY_STRING_ADD_EXTRA_DEVICE_MARK = "tsms_msg_key_string_add_extra_device_mark"; public static final String SP_MSG_KEY_STRING_ADD_EXTRA_SIM1 = "tsms_msg_key_string_add_extra_sim1"; public static final String SP_MSG_KEY_STRING_ADD_EXTRA_SIM2 = "tsms_msg_key_string_add_extra_sim2"; diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/SettingUtil.java b/app/src/main/java/com/idormy/sms/forwarder/utils/SettingUtil.java index e80daadd..9e68b449 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/utils/SettingUtil.java +++ b/app/src/main/java/com/idormy/sms/forwarder/utils/SettingUtil.java @@ -73,7 +73,17 @@ public class SettingUtil { } public static boolean getSwitchEnableAppNotify() { - return sp_setting.getBoolean(Define.SP_MSG_KEY_STRING_ENABLE_APP_NOTIFY, true); + return sp_setting.getBoolean(Define.SP_MSG_KEY_STRING_ENABLE_APP_NOTIFY, false); + } + + public static void switchExcludeFromRecents(Boolean enable) { + sp_setting.edit() + .putBoolean(Define.SP_MSG_KEY_STRING_ENABLE_EXCLUDE_FROM_RECENTS, enable) + .apply(); + } + + public static boolean getExcludeFromRecents() { + return sp_setting.getBoolean(Define.SP_MSG_KEY_STRING_ENABLE_EXCLUDE_FROM_RECENTS, false); } public static void switchSmsTemplate(Boolean switchSmsTemplate) { diff --git a/app/src/main/res/layout/activity_setting.xml b/app/src/main/res/layout/activity_setting.xml index 890bdf13..26b87b90 100644 --- a/app/src/main/res/layout/activity_setting.xml +++ b/app/src/main/res/layout/activity_setting.xml @@ -349,6 +349,33 @@ + + + + + + + + + tools:ignore="LabelFor,RtlHardcoded" /> + tools:ignore="ButtonStyle,NestedWeights,UsingOnClickInXml" />