使用Delphi XE6
我有这些代码:
procedure TMainForm.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 TVirtualKeyBoardState.Visible in FService.GetVirtualKeyBoardState then
begin
FService.HideVirtualKeyboard;
end else
begin
if TabControl1.ActiveTab = TabItem2 then
begin
TabControl1.ActiveTab := TabItem1;
Key := 0;
end else
begin
Self.Hide;
MainActivity.Finish;
Application.MainForm.DisposeOf;
Key := 0;
end;
end;
end;
end;
procedure TMainForm.ConnectButtonClick(Sender: TObject);
begin
TetheringManager1.Enabled:=True;
TetheringAppProfile1.Enabled:=True;
TetheringManager1.AutoConnect(3000);
end;
当TetheringManager和TetheringAppProfiler未启用且未连接时,使用硬件后退按钮可以关闭/打开Android应用程序。但是当连接时,Android应用程序没有正确关闭而且没有正确打开(我只看到黑屏,但下次应用程序打开没关系)。 有什么方法可以断开网络共享吗?
答案 0 :(得分:0)
使用这些:
procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
var
I: Integer;
begin
for I := TetheringManager1.PairedManagers.Count - 1 downto 0 do
TetheringManager1.UnPairManager(TetheringManager1.PairedManagers[I]);
end;
procedure TMainForm.FormDestroy(Sender: TObject);
begin
TetheringAppProfile1.Enabled:=False;
TetheringManager1.Enabled:=False;
end;
使用:
if Key = vkHardwareBack then
begin
if TabControl1.ActiveTab = TabItem2 then
begin
Key := 0;
TabControl1.ActiveTab := TabItem1;
end;
end;
再次连接时很简单:
TetheringAppProfile1.Enabled:=True;
TetheringManager1.Enabled:=True;
我已经没有问题了:)