我的Android应用程序可在大多数手机上使用,但是在某些手机(RedMi Note 8等)上打开时,它给出了此类停止的错误。我正在使用sharedPreferences来存储数据。但我不知道错误的原因是什么。你能帮我吗?
@SuppressLint("InflateParams")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
} else {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}
Intent intent = getIntent();
locale = intent.getStringExtra("locale");
localeMethod(locale);
setContentView(R.layout.activity_main);
instance = this;
defaultlocale = Locale.getDefault().getLanguage().toUpperCase();
Log.d("TAG_LOCALE", "LOCALE\t" + locale);
Log.d("TAG_LOCALE", "DEFAULT\t" + defaultlocale);
sharedPreferences = context.getSharedPreferences(MAIN_DATA, Context.MODE_PRIVATE);
sucheck = sharedPreferences.getInt(SUCHECK, 0);
bildirim = sharedPreferences.getBoolean(BILDIRIM, true);
rateme = sharedPreferences.getBoolean(RATEME, true);
cinsiyetdegisim = sharedPreferences.getString(CINSIYET_KEY, getString(R.string.erkek));
kilogelen = sharedPreferences.getInt(KILO_KEY, 86);
boygelen = sharedPreferences.getInt(BOY_KEY, 186);
boyuncgelen = sharedPreferences.getInt(BOYUN_CEV, 36);
belcgelen = sharedPreferences.getInt(BEL_CEV, 80);
kalcacgelen = sharedPreferences.getInt(KALCA_CEV, 90);
yas = sharedPreferences.getInt(YAS_KEY, 21);
getHAREKET = sharedPreferences.getInt(HAREKET, 0);
getISTEK = sharedPreferences.getInt(ISTEK, 0);
gelenMacro = sharedPreferences.getInt(MACRO_KEY, 0);
gelenFormul = sharedPreferences.getInt(FORMUL_KEY, 0);
blink_settings = sharedPreferences.getBoolean(BLINK_SETTINGS, true);
iconcheck = sharedPreferences.getInt(TRACKER_ICON, 0);
trackercheck = sharedPreferences.getInt(TRACKER_CHECK, 0);
saat = sharedPreferences.getInt(TRACKER_SAAT, 10);
dk = sharedPreferences.getInt(TRACKER_DK, 30);
getsagliklimin = sharedPreferences.getInt(SAGLIKLI_MIN, 0);
getsagliklimax = sharedPreferences.getInt(SAGLIKLI_MAX, 0);
sharedpreflistener = new SharedPreferences.OnSharedPreferenceChangeListener() {
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
sucheck = sharedPreferences.getInt(SUCHECK, 0);
bildirim = sharedPreferences.getBoolean(BILDIRIM, true);
cinsiyetdegisim = sharedPreferences.getString(CINSIYET_KEY, getString(R.string.erkek));
kilogelen = sharedPreferences.getInt(KILO_KEY, 86);
boygelen = sharedPreferences.getInt(BOY_KEY, 186);
boyuncgelen = sharedPreferences.getInt(BOYUN_CEV, 36);
belcgelen = sharedPreferences.getInt(BEL_CEV, 80);
kalcacgelen = sharedPreferences.getInt(KALCA_CEV, 90);
yas = sharedPreferences.getInt(YAS_KEY, 21);
getHAREKET = sharedPreferences.getInt(HAREKET, 0);
getISTEK = sharedPreferences.getInt(ISTEK, 0);
gelenMacro = sharedPreferences.getInt(MACRO_KEY, 0);
gelenFormul = sharedPreferences.getInt(FORMUL_KEY, 0);
blink_settings = sharedPreferences.getBoolean(BLINK_SETTINGS, true);
iconcheck = sharedPreferences.getInt(TRACKER_ICON, 0);
trackercheck = sharedPreferences.getInt(TRACKER_CHECK, 0);
saat = sharedPreferences.getInt(TRACKER_SAAT, 10);
dk = sharedPreferences.getInt(TRACKER_DK, 30);
rateme = sharedPreferences.getBoolean(RATEME, true);
getsagliklimin = sharedPreferences.getInt(SAGLIKLI_MIN, 0);
getsagliklimax = sharedPreferences.getInt(SAGLIKLI_MAX, 0);
}
};
`这样继续。我不明白为什么有一些电话。错误原因未写在任何地方。我也使用firebase crashlytics,并且未写入错误原因
图像3
图像4
我也遇到了这个。问题是这样的:您可能对“ int”和“ String”的值使用相同的标识符(检查常量的类)。并在SharedPreference中检查保存此数据的位置。