delphi xe10 手机程序事件服务操作、退出键操作

//程序事件服务操作
var
  FMXApplicationEventService: IFMXApplicationEventService;
begin
  if TPlatformServices.Current.SupportsPlatformService (IFMXApplicationEventService, IInterface(FMXApplicationEventService)) then
    FMXApplicationEventService.SetApplicationEventHandler(HandleAppEvent)
  else
     flag := false;
end;

function TForm1.HandleAppEvent(AAppEvent: TApplicationEvent; AContext: TObject)   : boolean;
begin
  if flag = false then
    exit;
  case AAppEvent of
    TApplicationEvent.aeEnteredBackground:
      begin
          //当程序后台运行了
      end;
  end;
  Result := true;
end;
//退出键操作
procedure TPForm.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;
  Shift: TShiftState);
begin
  if Key = vkHardwareBack then
  begin
    {$IFDEF ANDROID}
    MessageDlg(‘确认退出吗?‘, System.UITypes.TMsgDlgType.mtInformation,
    [
      System.UITypes.TMsgDlgBtn.mbYes,
      //System.UITypes.TMsgDlgBtn.mbNo,
      System.UITypes.TMsgDlgBtn.mbCancel
    ], 0, System.UITypes.TMsgDlgBtn.mbCancel,
    procedure(const AResult: TModalResult)
    begin
      if AResult = mrYES then
         MainActivity.finish; { 退出程序 }   // use FMX.Platform.Android
      end);
    {$ENDIF ANDROID}
    //close;
    Key := 0;
    exit;
  end;
end;

原文地址:https://www.cnblogs.com/guorongtao/p/11137523.html

时间: 2024-11-10 10:29:08

delphi xe10 手机程序事件服务操作、退出键操作的相关文章

退出应用程序 按两次退出键

/**  * 退出应用程序 按两次退出键  */ private void exitApp() {  // TODO Auto-generated method stub  // 判断2次点击事件时间  if ((System.currentTimeMillis() - exitTime) > 2000) {   Toast.makeText(this, "再按一次退出摇乾树", Toast.LENGTH_SHORT).show();   exitTime = System.cu

delphi xe10 手机内部系统相关操作(手机信息、震动、剪贴板、键盘、电话、拨号)

//获取手机信息 function GetPhoneInfo(): string; Var TelephonyManager: JTelephonyManager; TelephonyServiceNative: JObject; begin result := ''; TelephonyServiceNative := SharedActivityContext.getSystemService (TJContext.JavaClass.TELEPHONY_SERVICE); if Assig

微信小程序怎么确定是息屏、返回、还是Home键操作?

我们公司在做一个客户端和小程序互相控制的小程序,两者都可以控制用户是否退出,因为安卓手机第一次扫码进来会触发onload方法,但是第二次扫码进入小程序,就直接进入到上次退出的界面,只会触发onShow方法,现在需求是只有扫码进来时才去请求登录接口,而亮屏操作不去请求接口,但是这两个操作目前找不到可以区分的点,现在很头疼. 之前想过通过监听返回键去识别,但是没找到监听返回键的方法,而且Home键操作也没办法识别到(Home键和返回键都可以认为是需要扫码获取到onload方法option里面的值这一

【转】手机应用为什么明明已经退出,还会收到推送的消息?

手机应用为什么明明已经退出,还会收到推送的消息? 是像电脑一样,应用退出后还会有某些残留程序未关闭吗?该如何完全关闭残留程序? 对于andriod用户来说经常有这种困扰,掏出你的手机,进入应用程序管理,杀掉所有应用,然后去泡杯茶,回来再看看你的手机你会神奇地发现,刚刚杀掉的应用很多都自己复活了,一个个的还活蹦乱跳的,时不时给你推送几条消息.其实andriod应用有几种复活方式: 监听系统事件:Android系统有一套广播机制,当系统发生了某件事的时候,它会通知给需要知道这件事情的所有应用.这套机

Android开发中模拟Home键操作和关闭手机软键盘

1,在点击返回时,不想退出应用,直接模拟HOME键操作,可以写在onKeyDown事件中,也可以写在其它自己想要实现的地方: Intent intent = new Intent(Intent.ACTION_MAIN); // 创建一个新的任务栈(这个必须要写) intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.addCategory(Intent.CATEGORY_HOME); this.startActivity(intent);

重温delphi之控制台程序:Hello World!

原文:重温delphi之控制台程序:Hello World! 这二天用c#开发ActiveX时,发现不管怎么弄,c#就是没办法生成ocx的纯正activeX控件,而且还要强迫用户安装巨大的.net framework(我只是想做一个简单截屏功能的activeX整合到silverlight聊天室中),于是想起了曾经用过一年的delphi,虽然时过境迁,现在早以是.net的天下,但是不可否认,delphi仍是win32原生程序最佳的开发工具之一. 关于Delphi的语法学习,可以参见这个chm文档,

[原创]DELPHI木马DIY之生成服务端

文章作者:上帝的禁区信息来源:邪恶八进制信息安全团队(www.eviloctal.com)DELPHI木马DIY之生成服务端   我在这里就生成简单的服务端,为什么不先讲服务端的隐藏?因为我觉得生成服务端要好理解一点,简单一点,我们就由浅入深吧,OK,LET'S GO.   网络上其他的生成服务端的方式我不是很清楚,我就用我的方法来和大家讲解(不过还是先声明,我的方法亦是来自于网络,如果和谁的方法相同,请不要说我侵犯版权,因为我也不知道原作者是谁了,我这文章不作商业用途,如果有朋友认为我侵犯了他

Android之——监听手机开机事件

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47028535 本文中,主要通过监听开机广播来达到监听手机开机状态的操作,在Android中可以通过广播机制来监听一些系统服务和系统级的操作,好了,不多说,直接上代码吧 1.创建广播接收者类BootCompleteReceiver 这个类中的回调方法是手机开机后自动调用,我在这里只是打印出相关日志,具体的业务逻辑大家可以自己根据自己的具体需求去实现. 代码如下: package c

Delphi中窗体的事件

Delphi中窗体的事件 Form窗体可以响应各种各样的时间,在Object Inspector的Events页面中罗列了一大堆,如下图: 下面将要列出一些常用的事件. 1.OnActivate 当窗体被初始激活时,就会发生OnActivate事件,当初始创建窗体或者用户从一个窗体切换到另一个窗体时,就可能激活窗体,Application对象也有一个OnActivate事件,当用户从一个应用程序切换到另一个应用程序时,就会产生此事件. 2.OnClose和OnCloseQuery 当关闭一个应用