Blankj / Blankj/AndroidUtilCode

用户解锁前启动Activity会崩溃

Abierto
#1,601 3 comentarios 0 reacciones 1 asignado Reclamado por @Blankj Ver en GitHub
bug
Lenguaje dominante
Java
Estrellas
33.6k
Forks
10.6k
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.