• Android实例-程序切换到后台及从后台切换到前台


    相关资料:

    http://www.delphitop.com/html/Android/2933.html

    程序包下载:

    http://download.csdn.net/detail/zhujianqiangqq/9649918 

    注意事项:

    使用moveTaskToBack/moveTaskToFront需要应用程序有reorder tasks授权,如果没有权限,执行时程序会闪退。

    实例代码:

      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, FMX.ScrollBox, FMX.Memo;
      9 
     10 type
     11   TForm1 = class(TForm)
     12     Timer1: TTimer;
     13     Button1: TButton;
     14     Label1: TLabel;
     15     Button2: TButton;
     16     Button3: TButton;
     17     Memo1: TMemo;
     18     procedure Button1Click(Sender: TObject);
     19     procedure Button2Click(Sender: TObject);
     20     procedure Button3Click(Sender: TObject);
     21     procedure Timer1Timer(Sender: TObject);
     22   private
     23     { Private declarations }
     24   public
     25     { Public declarations }
     26   end;
     27 
     28 var
     29   Form1: TForm1;
     30 
     31 implementation
     32 uses
     33   Androidapi.JNI.App,//需要引入
     34   Androidapi.JNI.GraphicsContentViewText,//需要引入
     35   Androidapi.Helpers,//需要引入
     36   Androidapi.JNI.JavaTypes,//需要引入
     37   Androidapi.JNIBridge;//需要引入
     38 
     39 //使用moveTaskToBack/moveTaskToFront需要应用程序有reorder tasks授权,如果没有权限,执行时程序会闪退。
     40 
     41 {$R *.fmx}
     42 //方法一:隐藏程序
     43 procedure No1SendAppToBack;
     44 var
     45   intent:JIntent;
     46 begin
     47   intent:= TJIntent.Create;
     48   intent.setAction(TJIntent.JavaClass.ACTION_MAIN);
     49   intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
     50   intent.addCategory(TJIntent.JavaClass.CATEGORY_HOME);
     51   SharedActivityContext.startActivity(intent);
     52 end;
     53 
     54 //方法二:获得活动管理器
     55 function SharedActivityManager: JActivityManager;
     56 var
     57   AService: JObject;
     58 begin
     59   AService := SharedActivityContext.getSystemService(TJContext.JavaClass.ACTIVITY_SERVICE);
     60   Result := TJActivityManager.Wrap((AService as ILocalObject).GetObjectID);
     61 end;
     62 
     63 //方法二:隐藏程序
     64 procedure No2SendAppToBack;
     65 begin
     66   //网上说XE7是支持的,但是我用XE8不知道为什么不行。
     67 //  SharedActivityManager.moveTaskToBack(SharedActivity.getTaskId,TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
     68 end;
     69 
     70 //方法二:显示程序
     71 procedure No2SendAppToFront;
     72 begin
     73   SharedActivityManager.moveTaskToFront(SharedActivity.getTaskId,TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
     74 end;
     75 
     76 //隐藏程序并在5秒后再显示
     77 procedure TForm1.Button1Click(Sender: TObject);
     78 begin
     79   //隐藏程序
     80   No1SendAppToBack;
     81   //打开定时器,显示程序(5秒后显示)
     82   Timer1.Enabled := True;
     83 end;
     84 
     85 procedure TForm1.Button2Click(Sender: TObject);
     86 begin
     87   //隐藏程序
     88   No2SendAppToBack;
     89 end;
     90 
     91 procedure TForm1.Button3Click(Sender: TObject);
     92 begin
     93   //显示程序
     94   No2SendAppToFront;
     95 end;
     96 
     97 procedure TForm1.Timer1Timer(Sender: TObject);
     98 begin
     99   //显示程序
    100   No2SendAppToFront;
    101   Timer1.Enabled := False;
    102 end;
    103 
    104 end.
  • 相关阅读:
    Linux命令未找到(command not found),误删Linux path原始路径
    Linux安装JDK1.8
    Python批量修改文件夹内所有json文件中部分内容
    [转]jQuery插件开发精品教程,让你的jQuery提升一个台阶
    使用apache的ab对页面进行压力测试
    http_load压力测试
    php json_encode数据格式化2种格式[]和{}
    PHP接收JSON格式的数据
    新浪短链接API接口示例
    一个提示样式
  • 原文地址:https://www.cnblogs.com/FKdelphi/p/5946703.html
Copyright © 2020-2023  润新知