设置:使用调试版本时遵循默认值,但使用签名的apk时忽略默认值

时间:2018-09-12 14:22:47

标签: android sharedpreferences

我正在使用设置API,我想从XML初始化它们。在这种情况下,只有两种设置,这是用于设置其默认值的XML:

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">    
    <SwitchPreference
        android:defaultValue="true"
        android:key="use_mobile"
        android:focusedByDefault="true"
        android:summary="@string/pref_description_use_mobile"
        android:title="@string/pref_use_mobile" />
    <SwitchPreference
        android:defaultValue="false"
        android:key="use_mobile_roaming"
        android:dependency="use_mobile"
        android:summary="@string/pref_description_use_mobile_roaming"
        android:title="@string/pref_use_mobile_roaming" />
</PreferenceScreen>

在启动时(onCreate),我通过此调用设置默认的首选项值:

PreferenceManager.setDefaultValues(applicationContext, R.xml.pref_general, false)

现在,当我运行调试版本时,一切正常。但是,如果我构建并安装了签名的apk,则在第一次运行时会忽略默认设置(两者均设置为true,并且在XML文件上进行更改不会执行任何操作)。

有什么线索吗?

谢谢。

0 个答案:

没有答案