我的部分代码对于仅在Android 9.0
上使用Pixel / Pixel 2手机的用户崩溃了。我已经使用Android仿真器来测试尽可能多的情况,并且无法重现报告的NumberFormatException
。
以下是崩溃所引用的代码:
public void onRecieve(...) {
//...
int network_pref = Integer.parseInt(getDefaults("network_pref", context));
//...
}
public static String getDefaults(String key, Context context) {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
return preferences.getString(key, null);
}
首选项的默认值为“ 0”,唯一的其他选项为“ 1”。
答案 0 :(得分:2)
您可能会获得默认方法返回null的信息,因为这就是您要传递的值。
您可以尝试一下,它可能会起作用...
public static String getDefaults(String key, Context context) {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
return preferences.getString(key, "0");
}