Кнопка «Назад» не будет работать при использовании веб-браузера

Я загрузил пробную версию xe6 и поиграл с образцом под названием веб-браузер. Я хотел бы закрыть приложение с помощью кнопки «Назад»..

это то, что я вставляю в образец

procedure TWebBrowserForm.FormKeyUp(Sender: TObject; var Key: Word;
  var KeyChar: Char; Shift: TShiftState);
begin
  if Key = vkHardwareBack then
  begin
    SharedActivity.Finish;
  end;

Это работает и закрывает приложение. Но когда я нажимаю ссылку в браузере, а затем нажимаю кнопку «Назад», приложение не закрывается.

Я также пробовал это http://www.fmxexpress.com/virtual-keyboard-with-twebbrowser-on-android-in-delphi-xe5-firemonkey/


person user3415232    schedule 30.04.2014    source источник
comment
Это нормальное поведение. Ваш браузер получает фокус и удерживает его (вот как Embarcadero устранила проблему с записью текста в поля редактирования на html-странице). Я не уверен, но попробуйте переместить фокус на другой элемент управления в форме (возможно, вам придется вызвать TWebBrowser.SetFocus(False)), а затем снова нажать Назад.   -  person naXa    schedule 02.05.2014
comment
Также я полагаю, что ваша проблема не воспроизводится на Delphi XE5.   -  person naXa    schedule 02.05.2014
comment
Я попытался сфокусироваться на другом элементе управления, но безуспешно. Кнопка «Назад» не сработает. несколько ссылок в браузере..   -  person user3415232    schedule 03.05.2014
comment
Я думаю, что EMB должен исправить эту ошибку.   -  person Leo    schedule 04.05.2014
comment
Я думаю, что еще один баг. Когда вы набираете www.google.com, а затем ищете, например, автомобили и пытаетесь перейти по ссылке. вы получите белый экран   -  person user3415232    schedule 05.05.2014


Ответы (2)


Пожалуйста, напишите об этом событии KeyDown

  if Key = vkHardwareBack then
  begin
    SharedActivity.Finish;
  end;
person Barış Atalay    schedule 11.05.2014
comment
Embarcadero исправила эту ошибку в XE6 Update 1. - person Barış Atalay; 26.06.2014

На Android вместо этого можно использовать веб-браузер TMS. Компонент имеет событие OnHardwareButtonClicked, которое обнаруживает нажатие кнопки Hardware Back. Вот так я справился с этой проблемой. Этот компонент очень удобен при нажатии на URL-адреса внутри URL-адреса.

person Alex Sertev    schedule 15.04.2019