我正在使用这个类来拥有一个加密的 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());
}
}
}