Android 9.0设备上的NumberFormatException,无法找到问题的原因

时间:2018-10-21 01:31:50

标签: java android android-studio runtime numberformatexception

我的部分代码对于仅在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”。

runtimeException

1 个答案:

答案 0 :(得分:2)

您可能会获得默认方法返回null的信息,因为这就是您要传递的值。

您可以尝试一下,它可能会起作用...

public static String getDefaults(String key, Context context) {
    SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
    return preferences.getString(key, "0");
}