Delphi Android实例-退出程序(XE8+小米2)


本文整理自网络,侵删。

 

 

unit Unit1;

 

interface

 

uses

  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,

  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,

  FMX.Controls.Presentation, FMX.StdCtrls;

 

type

  TForm1 = class(TForm)

    Button1: TButton;

    Button2: TButton;

    Button3: TButton;

    Label1: TLabel;

    Button4: TButton;

    Button5: TButton;

    Button6: TButton;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;

      Shift: TShiftState);

    procedure Button4Click(Sender: TObject);

    procedure Button6Click(Sender: TObject);

    procedure Button5Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;

 

implementation

uses

FMX.Platform.Android,

FMX.Helpers.Android,

Androidapi.JNI.Net,

Androidapi.JNI.GraphicsContentViewText,

Androidapi.JNI.JavaTypes,

Androidapi.Helpers,

system.IOUtils;

 

{$R *.fmx}

{$R *.NmXhdpiPh.fmx ANDROID}

{$R *.LgXhdpiPh.fmx ANDROID}

{$R *.Macintosh.fmx MACOS}

{$R *.XLgXhdpiTb.fmx ANDROID}

{$R *.LgXhdpiTb.fmx ANDROID}

{$R *.GGlass.fmx ANDROID}

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  Label1.Text := '按返回键将会出现一个对话框!';

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

  MainActivity.finish; { 退出程序 }

end;

 

procedure TForm1.Button3Click(Sender: TObject);

begin

  {$IFDEF ANDROID}

    Application.MainForm.DisposeOf; { 退出程序 }

    halt(0);

  {$ENDIF}

end;

 

procedure TForm1.Button4Click(Sender: TObject);

var

  Intent: JIntent;

begin

  Intent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_MAIN);

  Intent.addCategory(TJIntent.JavaClass.CATEGORY_HOME);

  Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);

  SharedActivityContext.startActivity(Intent);

end;

 

procedure TForm1.Button5Click(Sender: TObject);

begin

  Application.Terminate;

end;

 

procedure TForm1.Button6Click(Sender: TObject);

begin

  Close;

end;

//此代码报错,不可用,原因不明。

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;

  Shift: TShiftState);

begin

  if Key = vkHardwareBack then//如果按下物理返回键

  begin

    Label1.Text := '1';

    if MessageDlg('确认退出吗?', TMsgDlgType.mtConfirmation,

    [TMsgDlgBtn.mbOK, TMsgDlgBtn.mbCancel], -1) = mrOK then

      MainActivity.finish; { 退出程序 }

    Key := 0;//必须的,不然按否也会退出

    Exit;

  end;

end;

 

end.

 

来源:https://www.cnblogs.com/FKdelphi/p/4685907.html

相关阅读 >>

Delphi 校验文件大小

Delphi 建立快捷方式

Delphi xe6 firemonkey移动应用程序的twebbrowser html页面上运行javascript

Delphi学习之资源文件dll的制作及使用

Delphi xe5发送短信以及读取短信代码

Delphi 不重复运行外部程序exe

Delphi 获取所有磁盘分区另类方法

dbgrid导出excl表

Delphi中指针和地址切换的方法

Delphi 调用外部程序并等待其运行结束

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...