如何让程序在按了 Android 的 Back 键后不关闭当前 From 或者不 APP 退出
来源:互联网 发布:mac下制作win7启动盘 编辑:程序博客网 时间:2024/06/13 11:12
安卓底下,Delphi FireMonkey 做的 Android APP,默认情况下,按下手机的 Back 键,会关闭当前 Form。如果这个 Form 是主 Form 则整个 APP 退出。
本来,Form 有一个 OnCloseQuery 事件,这个事件会在一个 Form 被关闭的时候触发,该事件方法大概是这样的:
procedure TForm2.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
在该事件方法里面,将 CanClose := False;就应该不会关闭这个 Form。
经过测试,这个代码在 Windows 底下有效,在 Android 下面无效。
网上搜索了一下,应该是拦截 Form 的 KeyUp 事件:
procedure TForm2.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState);begin Key := 0; //这样就不会关闭这个 Formend;
当然了,不能随便什么输入,都变成 Key := 0。所以这里需要加上一个判断:
if Key = vkHardwareBack then
到这里,我们可以在 Form 的 OnKeyUp 事件方法里面,加上代码,判断用户是否按了 Back 键,如果是,则如果我们不想要这个 Form 关闭,则设置 Key := 0;
搞定。
阅读全文
1 0
- 如何让程序在按了 Android 的 Back 键后不关闭当前 From 或者不 APP 退出
- Android按back键不退出当前Activity
- Android如何在退出App时关闭整个应用程序
- 【小知识点总结】android:windowSoftInputMode属性详解 和 按back键直接退出Activity,不关闭软键盘的问题
- {转}Android点击两次Back键退出当前程序
- 按back键直接退出Activity,不关闭软键盘
- 按back键直接退出Activity,不关闭软键盘
- 如何使back键点击时不退出程序
- android按两次back退出程序!
- Android 获取所有Activity,这里演示了用户按两次back键退出app
- android点击Back键不退出程序,在后台运行
- 点击两次Back键退出当前程序
- 点击两次Back键退出当前程序
- android按back键退出程序时,实现“再按一次退出”的功能
- Android如何捕获手机回退键(BACK)实现程序退出?
- Android如何捕获手机回退键(BACK)实现程序退出?
- Android开发:如何按back键 彻底的关闭一个应用程序(调用finish()不太奏效)
- Android开发:如何按back键 彻底的关闭一个应用程序(调用finish()不太奏效)
- java线程池
- 10.15 算法基础
- Java基础知识总结(一)
- lianbiao
- Android接口安全
- 如何让程序在按了 Android 的 Back 键后不关闭当前 From 或者不 APP 退出
- android 64位系统,调用32位so文件
- python 的logging模块
- redis监控可视化工具
- BZOJ4033[HAOI2015] 树上染色 解题报告【树上DP】
- Zynq 7000的hello world 实验
- js 获取时间戳
- (伪分布式)zookeeper+solr搭建集群(1)
- listView图片与文字显示