diff --git a/app/build.gradle b/app/build.gradle index 0026a0d..0ae369f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -107,4 +107,6 @@ implementation "me.leolin:ShortcutBadger:1.1.22@aar" //PDF预览 implementation 'com.github.barteksc:android-pdf-viewer:2.8.2' + //绕过Android 11反射限制 + implementation 'com.github.tiann:FreeReflection:3.1.0' } \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 0026a0d..0ae369f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -107,4 +107,6 @@ implementation "me.leolin:ShortcutBadger:1.1.22@aar" //PDF预览 implementation 'com.github.barteksc:android-pdf-viewer:2.8.2' + //绕过Android 11反射限制 + implementation 'com.github.tiann:FreeReflection:3.1.0' } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/base/BaseApplication.kt b/app/src/main/java/com/casic/xz/meterage/base/BaseApplication.kt index f19a4ea..14a604d 100644 --- a/app/src/main/java/com/casic/xz/meterage/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/xz/meterage/base/BaseApplication.kt @@ -1,7 +1,9 @@ package com.casic.xz.meterage.base import android.app.Application +import android.content.Context import com.pengxh.kt.lite.utils.SaveKeyValues +import me.weishu.reflection.Reflection import kotlin.properties.Delegates class BaseApplication : Application() { @@ -17,4 +19,10 @@ application = this SaveKeyValues.initSharedPreferences(this) } + + //绕过Android 11以上反射限制 + override fun attachBaseContext(base: Context?) { + super.attachBaseContext(base) + Reflection.unseal(base) + } } \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 0026a0d..0ae369f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -107,4 +107,6 @@ implementation "me.leolin:ShortcutBadger:1.1.22@aar" //PDF预览 implementation 'com.github.barteksc:android-pdf-viewer:2.8.2' + //绕过Android 11反射限制 + implementation 'com.github.tiann:FreeReflection:3.1.0' } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/base/BaseApplication.kt b/app/src/main/java/com/casic/xz/meterage/base/BaseApplication.kt index f19a4ea..14a604d 100644 --- a/app/src/main/java/com/casic/xz/meterage/base/BaseApplication.kt +++ b/app/src/main/java/com/casic/xz/meterage/base/BaseApplication.kt @@ -1,7 +1,9 @@ package com.casic.xz.meterage.base import android.app.Application +import android.content.Context import com.pengxh.kt.lite.utils.SaveKeyValues +import me.weishu.reflection.Reflection import kotlin.properties.Delegates class BaseApplication : Application() { @@ -17,4 +19,10 @@ application = this SaveKeyValues.initSharedPreferences(this) } + + //绕过Android 11以上反射限制 + override fun attachBaseContext(base: Context?) { + super.attachBaseContext(base) + Reflection.unseal(base) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt index 7f9077b..7c57643 100644 --- a/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt +++ b/app/src/main/java/com/casic/xz/meterage/extensions/Context.kt @@ -1,14 +1,15 @@ package com.casic.xz.meterage.extensions import android.content.Context +import android.util.Log import android.view.ViewGroup import com.casic.xz.meterage.base.BaseApplication import com.pengxh.kt.lite.extensions.dp2px import com.qmuiteam.qmui.util.QMUIDisplayHelper fun Context.initLayoutImmersionBar(rootView: ViewGroup) { - //根据不同设备状态栏高度设置"跳过"按钮的Margin值 var statusBarHeight = QMUIDisplayHelper.getStatusBarHeight(this) + Log.d("Casic", "状态栏高度: $statusBarHeight") if (statusBarHeight == 0) { statusBarHeight = 44f.dp2px(BaseApplication.get()) }