Ich bin verwirrt mit einer Ausnahme, die für etwas geworfen wird, das nicht sollte. Der Fehler ist die folgende:SharedPreferences - java.lang.Boolean kann nicht in java.lang.String umgewandelt werden
java.lang.ClassCastException: java.lang.Boolean cannot be cast to java.lang.String
Aber, mein Code nicht versucht, einen Booleschen zu String o_O Ist zu werfen es möglich, dass der Compiler bei der Anzeige falsch ist, wo die Ausnahme herkommt? Ich bin mit einem Huawei
diesem Teil wird die Ausnahme auslöst:
if(SharedPreferencesManager.getUserMRZ(ScanEUID.this).equals("0")
&& SharedPreferencesManager.getUserDocumentIdFront(ScanEUID.this) != null
&& SharedPreferencesManager.getUserDocumentIdBack(ScanEUID.this) != null)
{
die dazugehörigen Methoden die folgenden
public static String getUserMRZ(Context context){
return getSharedPreferences(context).getString(Constants.USER_HAS_MRZ, "0");
}
public static String getUserDocumentIdFront(Context context) {
return getSharedPreferences(context).getString(Constants.USER_DOCUMENT_ID_FRONT, null);
}
public static String getUserDocumentIdBack(Context context) {
return getSharedPreferences(context).getString(Constants.USER_DOCUMENT_ID_BACK, null);
}
Die setMRZ Methode
public static void setUserMRZ(Context context, String has_mrz){
final SharedPreferences.Editor editor = getSharedPreferences(context).edit();
editor.putString(Constants.USER_HAS_MRZ, has_mrz);
editor.apply();
}
Wenn es jemals einen String Witz gegeben hat h Dieser Schlüssel (USER_HAS_MRZ), auch wenn er zufällig ausbleibt, bleibt so lange bestehen, bis Sie die Daten der App löschen oder neu installieren. Versuchen Sie es erneut zu installieren, um zu sehen, ob es noch auftritt. – Denny
Überprüfen Sie, wo Sie zuerst die Einstellung USER_HAS_MRZ erstellen. Sie informieren wahrscheinlich einen booleschen Wert. – Jonas452
Deinstalliert es und leider gleichen Fehler. So seltsam. – Isabelle