启动服务时,我需要检查特定设置(布尔值)。请检查以下代码:
XML 代码:
<CheckBoxPreference android:title="Enable Sleep" android:defaultValue="false" android:key="checkbox_preference"/>
Java 代码:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
boolean sleepEnabled = prefs.getBoolean("checkbox_preference", true);
如果(睡眠启用){
// 代码
}
即使如此,XML 中的默认值是“假”,我在每次服务启动时都得到“真”。我知道这是因为我将“getBoolean()”方法中的参数设置为“true”,但我需要复选框的实际值..
为什么我在开始服务时总是“真实”?
ps 如果我转到设置并更改复选框的值,那很好。然后当再次启动服务时,它会提取实际值。那么如何获取 XML 中设置的实际 DEFAULT 值呢?