Этот код находится под кнопкой OnClickListner
String username = edtLabel.getText().toString():
char[] password = new char[edtPassword.getText().length()];
edtPassword.getText().getChars(0, edtPassword.getText().length(), password,0);
new BackGroundTask(username, password).execute();
Arrays.fill(password, '0');
Проблема, с которой я здесь сталкиваюсь, заключается в том, что пароль, передаваемый конструктору BackGroundTask (класс AsyncTask), всегда представляет собой массив нулей, равный {0,0, 0}.Хотя после настройки конструктора я вызываю функцию Arrays.fill ().
Код немного длиннее данного фрагмента, проверяет несколько других вещей, но не меняет пароль в любой момент времени.
Я довольно долго искал везде, но ничего не мог найти.Единственное решение, которое я вижу, это использование обработчика, который выполняется через несколько сотен миллисекунд и заполняет пароли нулями.
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Arrays.fill(password, '0');
}
}, 100);
Любая лучшая и прямолинейная техника была бы великолепна, спасибо.