diff --git a/app/src/main/java/com/idormy/sms/forwarder/MyApplication.java b/app/src/main/java/com/idormy/sms/forwarder/MyApplication.java index 96b4558c..47094d97 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/MyApplication.java +++ b/app/src/main/java/com/idormy/sms/forwarder/MyApplication.java @@ -1,17 +1,16 @@ package com.idormy.sms.forwarder; +import android.app.ActivityManager; import android.app.Application; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; -import android.content.pm.ApplicationInfo; -import android.content.pm.PackageManager; import android.os.Build; -import android.text.TextUtils; import android.util.Log; import com.idormy.sms.forwarder.sender.SendHistory; import com.idormy.sms.forwarder.service.FrontService; +import com.idormy.sms.forwarder.utils.CommonUtil; import com.idormy.sms.forwarder.utils.Define; import com.idormy.sms.forwarder.utils.PhoneUtils; import com.idormy.sms.forwarder.utils.SettingUtil; @@ -32,39 +31,6 @@ public class MyApplication extends Application { public static String QyWxAccessToken; public static long QyWxAccessTokenExpiresIn = 0; - /** - * - * - * - * @param ctx 上下文 - * @return 渠道名称 - */ - // 获取渠道工具函数 - public static String getChannelName(Context ctx) { - if (ctx == null) { - return null; - } - String channelName = null; - try { - PackageManager packageManager = ctx.getPackageManager(); - if (packageManager != null) { - //注意此处为ApplicationInfo 而不是 ActivityInfo,因为友盟设置的meta-data是在application标签中,而不是activity标签中,所以用ApplicationInfo - ApplicationInfo applicationInfo = packageManager.getApplicationInfo(ctx.getPackageName(), PackageManager.GET_META_DATA); - if (applicationInfo.metaData != null) { - channelName = applicationInfo.metaData.get("UMENG_CHANNEL") + ""; - } - } - } catch (PackageManager.NameNotFoundException e) { - e.printStackTrace(); - } - if (TextUtils.isEmpty(channelName)) { - channelName = "Unknown"; - } - Log.d(TAG, "getChannelName: " + channelName); - return channelName; - } @Override protected void attachBaseContext(Context base) { @@ -79,7 +45,7 @@ public class MyApplication extends Application { try { //初始化组件化基础库, 所有友盟业务SDK都必须调用此初始化接口。 //建议在宿主App的Application.onCreate函数中调用基础组件库初始化函数。 - UMConfigure.init(this, "60254fc7425ec25f10f4293e", getChannelName(this), UMConfigure.DEVICE_TYPE_PHONE, ""); + UMConfigure.init(this, "60254fc7425ec25f10f4293e", CommonUtil.getChannelName(this), UMConfigure.DEVICE_TYPE_PHONE, ""); // 选用LEGACY_AUTO页面采集模式 MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.LEGACY_MANUAL); //pro close log @@ -98,6 +64,16 @@ public class MyApplication extends Application { SharedPreferences sp = MyApplication.this.getSharedPreferences(Define.SP_CONFIG, Context.MODE_PRIVATE); showHelpTip = sp.getBoolean(Define.SP_CONFIG_SWITCH_HELP_TIP, true); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && SettingUtil.getExcludeFromRecents()) { + ActivityManager am = (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE); + if (am != null) { + List appTasks = am.getAppTasks(); + if (appTasks != null && !appTasks.isEmpty()) { + appTasks.get(0).setExcludeFromRecents(true); + } + } + } } catch (Exception e) { Log.e(TAG, "onCreate:", e); } diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/CommonUtil.java b/app/src/main/java/com/idormy/sms/forwarder/utils/CommonUtil.java index 9f4ef297..3de12192 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/utils/CommonUtil.java +++ b/app/src/main/java/com/idormy/sms/forwarder/utils/CommonUtil.java @@ -6,8 +6,10 @@ import android.app.Activity; import android.content.ComponentName; import android.content.Context; import android.content.Intent; +import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; +import android.text.TextUtils; import androidx.core.app.ActivityCompat; import androidx.core.app.NotificationManagerCompat; @@ -25,6 +27,40 @@ public class CommonUtil { public static final int NOTIFICATION_REQUEST_CODE = 9527; private static final String ACTION_NOTIFICATION_LISTENER_SETTINGS = "android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"; + /** + * + * + * + * @param ctx 上下文 + * @return 渠道名称 + */ + // 获取渠道工具函数 + public static String getChannelName(Context ctx) { + if (ctx == null) { + return null; + } + String channelName = null; + try { + PackageManager packageManager = ctx.getPackageManager(); + if (packageManager != null) { + //注意此处为ApplicationInfo 而不是 ActivityInfo,因为友盟设置的meta-data是在application标签中,而不是activity标签中,所以用ApplicationInfo + ApplicationInfo applicationInfo = packageManager.getApplicationInfo(ctx.getPackageName(), PackageManager.GET_META_DATA); + if (applicationInfo.metaData != null) { + channelName = applicationInfo.metaData.get("UMENG_CHANNEL") + ""; + } + } + } catch (PackageManager.NameNotFoundException e) { + e.printStackTrace(); + } + if (TextUtils.isEmpty(channelName)) { + channelName = "Unknown"; + } + + return channelName; + } + //是否启用通知监听服务 public static boolean isNotificationListenerServiceEnabled(Context context) { Set packageNames = NotificationManagerCompat.getEnabledListenerPackages(context); diff --git a/app/src/main/res/layout/activity_setting.xml b/app/src/main/res/layout/activity_setting.xml index 3af2fa9a..55d9d5cb 100644 --- a/app/src/main/res/layout/activity_setting.xml +++ b/app/src/main/res/layout/activity_setting.xml @@ -39,7 +39,7 @@ @@ -82,7 +82,7 @@ @@ -125,7 +125,7 @@ @@ -168,7 +168,7 @@ @@ -203,7 +203,7 @@ @@ -319,8 +320,9 @@ android:padding="15dp"> @@ -360,8 +362,9 @@ android:padding="15dp"> @@ -401,8 +404,9 @@ android:padding="15dp"> @@ -442,8 +446,9 @@ android:padding="15dp"> diff --git a/app/src/main/res/values-en/styles.xml b/app/src/main/res/values-en/styles.xml index 05c50f0e..45fa69ab 100644 --- a/app/src/main/res/values-en/styles.xml +++ b/app/src/main/res/values-en/styles.xml @@ -28,12 +28,12 @@