首选项库导致E / libc和E / Pref错误

问题描述 投票:0回答:1

我正在使用MVVM和改造功能来构建天气应用,最近我添加了PreferencesFragmentCompat子类,以使用首选项库实现某些用户设置。这样做之后,我的应用程序将无法运行,并且我不断收到以下几行错误:

2020-04-08 00:54:12.346 18079-18079/? E/de.flogaweathe: Unknown bits set in runtime_flags: 0x8000
2020-04-08 00:54:12.410 18079-18079/com.nesoinode.flogaweather E/libc: Access denied finding property "ro.vendor.df.effect.conflict"
2020-04-08 00:54:12.421 18079-18110/com.nesoinode.flogaweather E/Perf: Fail to get file list com.nesoinode.flogaweather
2020-04-08 00:54:12.421 18079-18110/com.nesoinode.flogaweather E/Perf: getFolderSize() : Exception_1 = java.lang.NullPointerException: Attempt to get length of null array
2020-04-08 00:54:12.421 18079-18110/com.nesoinode.flogaweather E/Perf: Fail to get file list oat
2020-04-08 00:54:12.422 18079-18110/com.nesoinode.flogaweather E/Perf: getFolderSize() : Exception_1 = java.lang.NullPointerException: Attempt to get length of null array

我不知道这些是什么,我在堆栈或google上找不到任何具体答案。没有任何迹象表明导致错误的原因,所以我无法弄清楚我做错了什么还是如果是图书馆问题。有什么想法吗?

这是我从xml资源文件添加首选项的SettingsFragment:

class SettingsFragment : PreferenceFragmentCompat() {
    override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
        addPreferencesFromResource(R.xml.settings_prefs)
    }
}

这是我如何从sharedPrefs读取一些值的方法:

class UnitProviderImpl(context: Context) : UnitProvider {

    private val appContext = context.applicationContext
    private val preferences:SharedPreferences
        get() = PreferenceManager.getDefaultSharedPreferences(appContext)

    override fun getUnitSystem(): String {
        val selectedUnitSystemName = preferences.getString(UNIT_SYSTEM_KEY,
            UnitSystem.SI.name.toLowerCase(Locale.ROOT))
        return selectedUnitSystemName!!
    }
}
android-studio sharedpreferences logcat preferencefragment
1个回答
0
投票

我的应用程序也面临同样的问题。我使用flutter + firebase,同时使用shared_preferences和secure_storage。关于SO或Google的任何答案似乎都无法明确指出这一问题的根本原因。但是这是我做的测试,问题消失了。

  • 我已登录该应用;启动挂在初始屏幕上的应用程序
  • 长按应用程序图标>应用程序信息>存储和缓存>清除存储
  • 这将清除应用程序的所有本地存储空间

现在,重新启动应用程序,并弹出登录屏幕!

我相信,此问题不包括AndroidManifest.xml的此权限

https://developer.android.com/reference/android/Manifest.permission.html#READ_EXTERNAL_STORAGE

P.S .:我尚未尝试,请为您使用lmk!

© www.soinside.com 2019 - 2024. All rights reserved.