У меня работает Android Emulator с Visual Studio и физическое устройство Nokia 5 с Android 8.1. На обоих устройствах постоянно запускается следующее событие:
private async void InputField_KeyPressEditorAction(object sender, EventArgs e)
{
try
{
var ke = e as View.KeyEventArgs;
var eae = e as TextView.EditorActionEventArgs;
if (ke != null)
{
ke.Handled = false;
}
if (eae != null)
{
eae.Handled = false;
}
if (ke != null && (ke.Event.Action == KeyEventActions.Down ) &&
(ke.KeyCode == Keycode.Enter ) ||
eae != null && eae.ActionId == ImeAction.Done)
{
// some logic
//.
//.
//.
//.
//.
await ScanTu();
// more logic
//.
//.
//.
//.
//.
if (ke != null)
{
ke.Handled = true;
}
if (eae != null)
{
eae.Handled = true;
}
}
}
catch (Exception ex)
{
Log.Write(
this,
$"Method {new StackTrace(ex).GetFrame(0).GetMethod().Name} threw error: {ex}",
Log.DEBUG_LEVELS.ERROR);
}
}
Когда я запускаю код на физическом устройстве сканер штрих-кода M3SM10 с Android 4.3, я не могу воспроизвести проблему. AlertDialog отображается на ScanTu()
, когда нет соединения, и пользователь должен нажать OK , чтобы повторить операцию. Может быть, именно здесь снова начинается событие?