Android实例-退出程序(XE8+小米2)
2015-07-29 14:51
363 查看
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.
相关文章推荐
- Android新闻类界面分享(多种布局的listview)
- android 判断当前应用是否与服务器连接成功
- Android应用性能调试
- Android官方命令深入分析之Device Monitor
- Android PopupWindow 与 软键盘 的遮挡问题解决
- Android官方命令深入分析之Device Monitor
- Windows 7 android真机调试设置
- Android问题-selection contains a component,button7,introduced in an ancestor and cannot be deleted.
- Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity
- Android 圆形按钮实现
- Android Gradle 插件中文指南
- android:layout_weight的真实含义
- 自定义组件-onFinishInflate&onSizeChanged
- 【Android】保存Fragment切换状态
- 【Android】保存Fragment切换状态 分类: Android 2015-07-29 14:23 13人阅读 评论(0) 收藏
- 基于android studio NDK项目构建过程
- 简单研究Android View绘制三 布局过程
- Android清除本地数据缓存代码
- Android开发中实用工具之--Log工具类
- 解决Android SDK不能通过google下载问题