AndroidUtilCode
AndroidUtilCode copied to clipboard
用户解锁前启动Activity会崩溃
用户解锁前, 用户数据处于加密状态下, 包括SharedPreference . com.blankj.utilcode.util.SPUtils.getInstance 相关的调用都会报错, 包括com.blankj.utilcode.util.UtilsActivityLifecycleImpl.onActivityCreated下有个LanguageUtils.applyLanguage的调用.
- AndroidUtilCode 的版本:'com.blankj:utilcodex:1.30.6'
- 出现 Bug 的设备型号:黑鲨4S
- 设备的 Android 版本:API 30
异常堆栈
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: FATAL EXCEPTION: main
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{}: java.lang.IllegalStateException: SharedPreferences in credential encrypted storage are not available until after user is unlocked
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3726)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3900)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2264)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:210)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at android.os.Looper.loop(Looper.java:299)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:8122)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:565)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1045)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: Caused by: java.lang.IllegalStateException: SharedPreferences in credential encrypted storage are not available until after user is unlocked
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:566)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at android.app.ContextImpl.getSharedPreferences(ContextImpl.java:551)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at android.content.ContextWrapper.getSharedPreferences(ContextWrapper.java:206)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at com.blankj.utilcode.util.SPUtils.<init>(SPUtils.java:84)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at com.blankj.utilcode.util.SPUtils.getInstance(SPUtils.java:71)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at com.blankj.utilcode.util.SPUtils.getInstance(SPUtils.java:54)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at com.blankj.utilcode.util.UtilsBridge.getSpUtils4Utils(UtilsBridge.java:518)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at com.blankj.utilcode.util.LanguageUtils.applyLanguage(LanguageUtils.java:231)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at com.blankj.utilcode.util.UtilsActivityLifecycleImpl.onActivityCreated(UtilsActivityLifecycleImpl.java:208)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at android.app.Application.dispatchActivityCreated(Application.java:355)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at android.app.Activity.dispatchActivityCreated(Activity.java:1381)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at android.app.Activity.onCreate(Activity.java:1654)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at androidx.core.app.ComponentActivity.onCreate(ComponentActivity.java:85)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at androidx.activity.ComponentActivity.onCreate(ComponentActivity.java:298)
01-28 07:20:00.722840 5031 5031 E AndroidRuntime: at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:273)
+1
+1