0

我正在使用这个类来拥有一个加密的 EditText,它在 Android < 4.2 上运行良好。在 Android 4.2+ 上它不再工作了,就像它不再保存文本一样,但我什么也没得到。有任何想法吗?

public class EncryptedEditTextPreference extends EditTextPreference
{
public EncryptedEditTextPreference(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
}

public EncryptedEditTextPreference(Context context, AttributeSet attrs) {
    super(context, attrs);
}

public EncryptedEditTextPreference(Context context) {
    super(context);
}

@Override
public String getText() {
    String value = super.getText();
    return SimpleCrypto.decrypt(value);
}

@Override
protected void onSetInitialValue(boolean restoreValue, Object defaultValue) {
    super.setText(restoreValue ? getPersistedString(null) : (String) defaultValue);
}

@Override
public void setText(String text) {
    try {
        super.setText(SimpleCrypto.encrypt(text));
    } catch (Exception e) {
        Log.e(mytag, e.getMessage());
    }
}
}
4

0 回答 0