安卓-奇怪的行为共享偏好后API 29



我将我的应用程序从API 28升级到29。测试了其调试和发布版本。一切都很好。然而,在play商店发布后,这些应用程序的行为却很奇怪。

问题:共享首选项的默认值似乎不正确。

我在安卓10的谷歌开发者信息中找不到任何注释。

代码:

内部活动

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
String birthdaysKey = "app.birthdays";
birthdays = prefs.getBoolean(birthdaysKey, false);

内部XML

<SwitchPreferenceCompat
android:defaultValue="false"
app:icon="@drawable/ic_birthday_24dp"
app:key="app.birthdays"
app:summary="@string/birthday_description"
app:title="@string/birthday"
app:useSimpleSummaryProvider="false" />

buildgradle

implementation 'androidx.preference:preference:1.1.1'

初始值始终为true,但应为false。

我设法找到了以下信息:

  1. xml声明应该是:

<androidx.preference.PreferenceScreen…和<androidx.preference.SwitchPreference…

  1. 似乎不再支持getDefaultSharedPreferences(上下文上下文((AndroidX也不支持(

我面临的问题是:如何在没有默认首选项管理器的情况下使用首选项屏幕?没有其他方法可以读取afaik数据。

解决方案:

在清单中禁用自动更新。这解决了问题。

相关内容

  • 没有找到相关文章

最新更新