Blankj / Blankj/AndroidUtilCode

用户解锁前启动Activity会崩溃

Đang mở
#1,601 3 bình luận 0 reaction 1 người được giao Được @Blankj nhận Xem trên GitHub
bug
Ngôn ngữ chính
Java
Star
33.6k
Fork
10.6k
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.