diff --git a/app/src/main/java/com/fankes/tsbattery/hook/HookMain.kt b/app/src/main/java/com/fankes/tsbattery/hook/HookMain.kt index 174aae6..3a11002 100644 --- a/app/src/main/java/com/fankes/tsbattery/hook/HookMain.kt +++ b/app/src/main/java/com/fankes/tsbattery/hook/HookMain.kt @@ -46,6 +46,10 @@ class HookMain : IXposedHookLoadPackage { companion object { + /** 旧版类名 */ + private const val BASE_CHAT_PIE_LEGACY = "activity.BaseChatPie" + + /** 新版类名 */ private const val BASE_CHAT_PIE = "activity.aio.core.BaseChatPie" } @@ -106,6 +110,10 @@ class HookMain : IXposedHookLoadPackage { */ private fun XC_LoadPackage.LoadPackageParam.hookQQBaseChatPie(version: String) { when (version) { + "8.2.11" -> { + replaceToNull(BASE_CHAT_PIE_LEGACY, "bE") + replaceToNull(BASE_CHAT_PIE_LEGACY, "aV") + } "8.8.17" -> { replaceToNull(BASE_CHAT_PIE, "bd") replaceToNull(BASE_CHAT_PIE, "be") @@ -460,6 +468,7 @@ class HookMain : IXposedHookLoadPackage { * 带给用户的却是 shit 一样的体验 * 里面有各种使用 Handler 和 Timer 的各种耗时常驻后台耗电办法持续接收消息 * 直接循环全部方法全部干掉 + * 👮🏻 经过排查 Play 版本没这个类...... Emmmm 不想说啥了 */ lpparam.classLoader.loadClass("com.tencent.qapmsdk.qqbattery.monitor.WakeLockMonitor") .apply { diff --git a/app/src/main/java/com/fankes/tsbattery/ui/MainActivity.kt b/app/src/main/java/com/fankes/tsbattery/ui/MainActivity.kt index bdc0133..e30f47d 100644 --- a/app/src/main/java/com/fankes/tsbattery/ui/MainActivity.kt +++ b/app/src/main/java/com/fankes/tsbattery/ui/MainActivity.kt @@ -59,7 +59,7 @@ class MainActivity : AppCompatActivity() { private const val moduleVersion = BuildConfig.VERSION_NAME private const val qqSupportVersion = - "8.8.17、8.8.23、8.8.35、8.8.38、8.8.50、8.8.55、8.8.68 (8.5.5~8.8.68)" + "8.2.11(Play)、8.8.17、8.8.23、8.8.35、8.8.38、8.8.50、8.8.55、8.8.68 (8.2.11、8.5.5~8.8.68)" private const val timSupportVersion = "2+、3+ (并未完全测试每个版本)" private const val wechatSupportVersion = "全版本仅支持基础省电,更多功能依然画饼" diff --git a/app/src/main/java/com/fankes/tsbattery/utils/Utils.kt b/app/src/main/java/com/fankes/tsbattery/utils/Utils.kt index 05661be..3e47ec8 100644 --- a/app/src/main/java/com/fankes/tsbattery/utils/Utils.kt +++ b/app/src/main/java/com/fankes/tsbattery/utils/Utils.kt @@ -84,11 +84,13 @@ fun Number.dp(context: Context) = toFloat() * context.resources.displayMetrics.d */ fun Context.openSelfSetting(packageName: String) { try { - startActivity(Intent().apply { - flags = Intent.FLAG_ACTIVITY_NEW_TASK - action = Settings.ACTION_APPLICATION_DETAILS_SETTINGS - data = Uri.fromParts("package", packageName, null) - }) + if (packageName.isInstall) + startActivity(Intent().apply { + flags = Intent.FLAG_ACTIVITY_NEW_TASK + action = Settings.ACTION_APPLICATION_DETAILS_SETTINGS + data = Uri.fromParts("package", packageName, null) + }) + else Toast.makeText(this, "你没有安装此应用", Toast.LENGTH_SHORT).show() } catch (_: Exception) { Toast.makeText(this, "启动 $packageName 应用信息失败", Toast.LENGTH_SHORT).show() }