版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/yanwenyuan0304/article/details/101065027
报错
java.lang.IllegalStateException: SharedPreferences in credential encrypted storage are not available until after user is unlocked
一、问题场景
这两处报错是我在开发一个apk需要开机未解锁前运行报的错,
在Android 7.0以后如果要在开机未解锁前启动一个应用需要加上
<activity|provider|receiver|service ...
android:directBootAware=”true”>
具体看官网:https://developer.android.com/training/articles/direct-boot?hl=zh-cn
这里我是加在application
<application
android:directBootAware="true"
二、问题原因
虽然加上android:directBootAware="true"
可以启动了但是不能访问SharedPreferences等数据
三、解决方案
再加上该属性:android:defaultToDeviceProtectedStorage="true"
如下例子:
android:directBootAware="true"
android:defaultToDeviceProtectedStorage="true"