Поведение, которое вы видите, не имеет ничего общего с функцией PHP mail()
. Вместо этого это почтовый сервер SMTP, от которого PHP передает сообщение, что требует времени для доставки. Эта услуга известна как агент передачи почты или MTA .
Существует множество потенциальных причин, по которым он не будет доставлен немедленно. Вероятно, задержка, которую вы видите, - greylisting на принимающем сервере, что означает, что принимающий почтовый сервер отказывается принимать сообщение до тех пор, пока сервер отправки (который ваш PHP-скрипт не передал) пытается несколько раз повторно отправить Это. Хорошо выполненные MTA будут повторять попытки неудачной попытки отправки, но спам-серверы часто не делают этого, что делает этот простой, но эффективный метод сокращения спама.
Это может быть даже просто, как длинная очередь сообщений на SMTP-сервер, ожидающий отправки, в соответствии с которым ваши ждут в очереди. (Действительно, greylisting более вероятно, хотя)
Самое главное помнить, что электронная почта not предназначена для мгновенного и, следовательно, никогда не гарантируется мгновенной. В последнее десятилетие или около того мы привыкли по большому счету отправлять электронную почту очень быстро, но вы никогда не сможете обещать быструю доставку.
В вашем дизайне что-то не так, потому что когда вы создаете ящик, фрагменты остаются за ящиком. Так что всплывающее окно не должно перекрываться над навигационным ящиком. Здесь вы можете найти больше вещей https://developer.android.com/training/implementing-navigation/nav-drawer
Используйте android:longClickable="false"
в своем editText
, он будет работать
Вы можете сделать это, отключив длительное нажатие EditText
. Чтобы реализовать его, просто добавьте следующую строку в xml -
android:longClickable="false"
Вы также можете использовать это в onCreate:
edittext.setLongClickable(false);
edittext.setTextIsSelectable(false);
edittext.setCustomSelectionActionModeCallback(new ActionMode.Callback() {
public boolean onCreateActionMode(ActionMode actionMode, Menu menu) {
return false;
}
public boolean onPrepareActionMode(ActionMode actionMode, Menu menu) {
return false;
}
public boolean onActionItemClicked(ActionMode actionMode, MenuItem item) {
return false;
}
public void onDestroyActionMode(ActionMode actionMode) {
}
});
Решено, добавив mDrawerLayout.requestFocusFromTouch()
при открытии ящика.