Blankj / Blankj/AndroidUtilCode

用户解锁前启动Activity会崩溃

未关闭
#1,601 3 条评论 0 个 reaction 已指派 1 人 已被 @Blankj 认领 在 GitHub 查看
bug
主要语言
Java
星标
33.6k
派生
10.6k
PR 合并指标
30 天内没有已合并 PR

描述

用户解锁前, 用户数据处于加密状态下, 包括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.(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)
```

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。