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


      1 unit Unit1;
      2 
      3 interface
      4 
      5 uses
      6   System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
      7   FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
      8   FMX.Controls.Presentation, FMX.StdCtrls;
      9 
     10 type
     11   TForm1 = class(TForm)
     12     Button1: TButton;
     13     Button2: TButton;
     14     Button3: TButton;
     15     Label1: TLabel;
     16     Button4: TButton;
     17     Button5: TButton;
     18     Button6: TButton;
     19     procedure Button1Click(Sender: TObject);
     20     procedure Button2Click(Sender: TObject);
     21     procedure Button3Click(Sender: TObject);
     22     procedure FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;
     23       Shift: TShiftState);
     24     procedure Button4Click(Sender: TObject);
     25     procedure Button6Click(Sender: TObject);
     26     procedure Button5Click(Sender: TObject);
     27   private
     28     { Private declarations }
     29   public
     30     { Public declarations }
     31   end;
     32 
     33 var
     34   Form1: TForm1;
     35 
     36 implementation
     37 uses
     38 FMX.Platform.Android,
     39 FMX.Helpers.Android,
     40 Androidapi.JNI.Net,
     41 Androidapi.JNI.GraphicsContentViewText,
     42 Androidapi.JNI.JavaTypes,
     43 Androidapi.Helpers,
     44 system.IOUtils;
     45 
     46 {$R *.fmx}
     47 {$R *.NmXhdpiPh.fmx ANDROID}
     48 {$R *.LgXhdpiPh.fmx ANDROID}
     49 {$R *.Macintosh.fmx MACOS}
     50 {$R *.XLgXhdpiTb.fmx ANDROID}
     51 {$R *.LgXhdpiTb.fmx ANDROID}
     52 {$R *.GGlass.fmx ANDROID}
     53 
     54 procedure TForm1.Button1Click(Sender: TObject);
     55 begin
     56   Label1.Text := '按返回键将会出现一个对话框!';
     57 end;
     58 
     59 procedure TForm1.Button2Click(Sender: TObject);
     60 begin
     61   MainActivity.finish; { 退出程序 }
     62 end;
     63 
     64 procedure TForm1.Button3Click(Sender: TObject);
     65 begin
     66   {$IFDEF ANDROID}
     67     Application.MainForm.DisposeOf; { 退出程序 }
     68     halt(0);
     69   {$ENDIF}
     70 end;
     71 
     72 procedure TForm1.Button4Click(Sender: TObject);
     73 var
     74   Intent: JIntent;
     75 begin
     76   Intent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_MAIN);
     77   Intent.addCategory(TJIntent.JavaClass.CATEGORY_HOME);
     78   Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
     79   SharedActivityContext.startActivity(Intent);
     80 end;
     81 
     82 procedure TForm1.Button5Click(Sender: TObject);
     83 begin
     84   Application.Terminate;
     85 end;
     86 
     87 procedure TForm1.Button6Click(Sender: TObject);
     88 begin
     89   Close;
     90 end;
     91 //此代码报错,不可用,原因不明。
     92 procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;
     93   Shift: TShiftState);
     94 begin
     95   if Key = vkHardwareBack then//如果按下物理返回键
     96   begin
     97     Label1.Text := '1';
     98     if MessageDlg('确认退出吗?', TMsgDlgType.mtConfirmation,
     99     [TMsgDlgBtn.mbOK, TMsgDlgBtn.mbCancel], -1) = mrOK then
    100       MainActivity.finish; { 退出程序 }
    101     Key := 0;//必须的,不然按否也会退出
    102     Exit;
    103   end;
    104 end;
    105 
    106 end.
  • 相关阅读:
    白书数据结构基础总结
    UVA 10557 XYZZY 结题报告
    UVA 10047 The Monocycle 解题报告
    二叉查找树及其C语言实现
    堆排序及其c语言实现
    约瑟夫环问题小结
    KMP算法总结
    UVA 10129 Play on Words 解题报告
    深入浅出Node.js (8)
    洛谷 P1757 通天之分组背包
  • 原文地址:https://www.cnblogs.com/FKdelphi/p/4685907.html
Copyright © 2020-2023  润新知