通常は Android の戻るボタンの機能をコーディングしなくても、前のフォームに戻ることができます。私のアプリでは、アプリケーションをシャットダウンする代わりに作業しています。私もコードで戻るボタンを処理しようとしましたが、これも機能せず、コードを無視しました!
戻るボタンを処理するために使用したコードは次のとおりです。
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 を使用しており、問題が解決することを願っていましたが、残念ながらそうではありませんでした。また、上記のコードは Delphi XE6 バージョン用で、XE5 の場合は少し異なります。
アップデート:
問題の解決策を見つけました。しかし、私のデルファイはまだ非常に奇妙な反応を示します。新しいプロジェクトを作成して以前のプロジェクトのファイルを追加すると、Android の戻るボタンで戻ることができます。しかし、プロジェクトを再度保存して実行しようとすると、すぐに機能しなくなります。