Обычно без необходимости вводить код функции обратной связи Android и позволяет вернуться к предыдущей форме. В моем приложении, над которым я работаю, вместо того, чтобы возвращаться, он отключает приложение. Я также пытался обработать кнопку «Назад» по коду, но это также не сработало, оно проигнорировало код!Android backbutton не работает в Delphi XE5/XE6
Вот код, который я использовал для обработки BackButton:
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
var KeyChar: Char; Shift: TShiftState);
var
FService: IFMXVirtualKeyboardService;
begin
if Key = vkHardwareBack then
begin
TPlatformServices.Current.SupportsPlatformService
(IFMXVirtualKeyboardService, IInterface(FService));
if (FService <> nil) and (TVirtualKeyboardState.Visible
in FService.VirtualKeyBoardState) then
begin
// Back button pressed, keyboard visible, so do nothing...
end
else
begin
// Back button pressed, keyboard not visible or not supported on this platform
close;
end;
end;
end;
я использовал, чтобы использовать Delphi xe5 и теперь я использую XE6 и выразил надежду, что проблема была решена, но regrettingly нет. Также приведенный выше код предназначен для версии Delphi XE6, для XE5 он немного отличается.
UPDATE:
Я нашел исправление для моей проблемы. Но мой delphi все еще реагирует действительно странно. Когда я создаю новый проект и добавляю файлы из своего предыдущего проекта, я могу вернуться с помощью андроида. Но как только я снова сохраню проект, а затем попытаюсь запустить его, он перестанет работать.
Работает ли этот код в приложении для ванили? –
Да, да. Также, когда вы смотрите вверх по дельфи-андроидному подлокотнику, вы получаете этот код. Для других людей он работает – Remi
Итак, код в вопросе ведет себя так, как ожидалось, в приложении для ванилин, но не в вашем приложении. В этот момент вопрос полностью касается кода в вашем приложении, а не кода в вопросе. Код в вашем приложении может быть просмотрен только вами. Как мы можем помочь? Пришло время сделать SSCCE. –