From 48a7acf1cc63eca01c55eb536632b4db19069fd5 Mon Sep 17 00:00:00 2001 From: miaoc Date: Fri, 16 Jul 2021 11:01:00 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E2=80=9C=E7=AC=AC=E4=B8=80=E6=AC=A1?= =?UTF-8?q?=E6=89=93=E5=BC=80App=EF=BC=8C=E7=94=B3=E8=AF=B7=E6=9D=83?= =?UTF-8?q?=E9=99=90=E5=89=8D=E2=80=9D=E6=88=96=E2=80=9C=E6=89=8B=E6=9C=BA?= =?UTF-8?q?=E9=87=8D=E5=90=AF=EF=BC=8C=E6=9C=AA=E6=89=93=E5=BC=80app?= =?UTF-8?q?=E2=80=9D=E6=97=B6=EF=BC=8C=20MyApplication.SimInfoList?= =?UTF-8?q?=E5=8F=AF=E8=83=BD=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/idormy/sms/forwarder/FrontService.java | 9 +++++++-- .../java/com/idormy/sms/forwarder/MainActivity.java | 13 ++++++++----- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/idormy/sms/forwarder/FrontService.java b/app/src/main/java/com/idormy/sms/forwarder/FrontService.java index 277f818b..e9cc2a28 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/FrontService.java +++ b/app/src/main/java/com/idormy/sms/forwarder/FrontService.java @@ -10,9 +10,10 @@ import android.os.Build; import android.os.IBinder; import android.util.Log; -import androidx.annotation.Nullable; - import com.idormy.sms.forwarder.utils.OSUtils; +import com.idormy.sms.forwarder.utils.PhoneUtils; + +import androidx.annotation.Nullable; public class FrontService extends Service { @@ -60,6 +61,10 @@ public class FrontService extends Service { intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); } + // 手机重启,未打开app时,主动获取SIM卡信息 + if (MyApplication.SimInfoList.isEmpty()) { + MyApplication.SimInfoList = PhoneUtils.getSimMultiInfo(); + } } @Nullable diff --git a/app/src/main/java/com/idormy/sms/forwarder/MainActivity.java b/app/src/main/java/com/idormy/sms/forwarder/MainActivity.java index 9e8a3a00..5191ef7e 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/MainActivity.java +++ b/app/src/main/java/com/idormy/sms/forwarder/MainActivity.java @@ -18,9 +18,6 @@ import android.widget.AdapterView; import android.widget.TextView; import android.widget.Toast; -import androidx.appcompat.app.AlertDialog; -import androidx.appcompat.app.AppCompatActivity; - import com.idormy.sms.forwarder.BroadCastReceiver.SmsForwarderBroadcastReceiver; import com.idormy.sms.forwarder.adapter.LogAdapter; import com.idormy.sms.forwarder.model.vo.LogVo; @@ -34,6 +31,9 @@ import com.umeng.analytics.MobclickAgent; import java.util.ArrayList; import java.util.List; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.app.AppCompatActivity; + public class MainActivity extends AppCompatActivity implements ReFlashListView.IReflashListener { ServiceConnection conn = new ServiceConnection() { @@ -73,8 +73,6 @@ public class MainActivity extends AppCompatActivity implements ReFlashListView.I //获取SIM信息 PhoneUtils.init(this); - MyApplication.SimInfoList = PhoneUtils.getSimMultiInfo(); - Log.d(TAG, "SimInfoList = " + MyApplication.SimInfoList); //短信&网络组件初始化 SmsUtil.init(this); @@ -301,6 +299,11 @@ public class MainActivity extends AppCompatActivity implements ReFlashListView.I protected void onResume() { super.onResume(); MobclickAgent.onResume(this); + //第一次打开,申请权限前无法获取SIM信息,尝试在此重新获取 + if (MyApplication.SimInfoList.isEmpty()) { + MyApplication.SimInfoList = PhoneUtils.getSimMultiInfo(); + } + Log.d(TAG, "SimInfoList = " + MyApplication.SimInfoList.size()); } @Override From 7bab5e71e88b0edda19de9112f9cf11793287dcd Mon Sep 17 00:00:00 2001 From: miaoc Date: Fri, 16 Jul 2021 11:52:50 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=94=B5=E6=B1=A0?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=99=BD=E5=90=8D=E5=8D=95=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E5=92=8C=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="恢复初始化配置" /> +