我有一个复选框首选项,其定义如下:
<CheckBoxPreference
android:key="enable_sound"
android:title="Play sounds"></CheckBoxPreference>
但是,尽管未选中此复选框,但我还是会定期听到我的应用播放声音,并且当我进入“活动”设置时,我发现该复选框被再次选中。我没有在代码中的任何地方设置复选框,而只是阅读以确定是否播放某些声音。这是引用我的“ enable_sound”复选框的唯一代码:
boolean do_sound = preferences.getBoolean("enable_sound",false);
if (do_sound) play_sound(sound_name);
我无法故意使这种情况发生-例如,如果我在应用浏览器的“屏幕”中处置该应用并再次启动该应用,则不会检查首选项。一段时间后,它似乎只是随机发生。
为什么会这样?我不确定该怎么做,因为我的用法似乎微不足道,没有明显的理由。