相关资料:

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.

Android实例-程序切换到后台及从后台切换到前台的更多相关文章

  1. tesseract ocr文字识别Android实例程序和训练工具全部源代码

    tesseract ocr是一个开源的文字识别引擎,Android系统中也可以使用.可以识别50多种语言,通过自己训练识别库的方式,可以大大提高识别的准确率. 为了节省大家的学习时间,现将自己近期的学 ...

  2. Android实例-程序界面内截取屏幕(XE8+小米2)

    结果: 1.只能截取程序界面内的图片. 2.图片有点不清楚,自己设置清楚度. 实例代码: unit Unit1; interface uses System.SysUtils, System.Type ...

  3. Android应用程序MVC框架实例分析

    问题提出:如何优雅地分离出应用程序的状态.用户交互和数据表现?如何通过框架体现工程的高性能.高灵活性.高响应性? MVC定义:model.view.controller三者的有机组合,分别表示:模型. ...

  4. Android实例-多窗口的切换

    Android实例-多窗口的切换 1.图片一是程序运行后的界面. 2.图片二是点击"非模态显示"的界面. 3.图片三是点击"模诚显示"的界面(提示平台不支持). ...

  5. Android L Camera2 API 使用实例程序汇总

    在网上发现几个使用Camera API2开发的实例程序,总结一下方便后续参考: 1.Camera2 Basic : https://github.com/googlesamples/android-C ...

  6. Android应用程序组件Content Provider应用实例

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6950440 文简要介绍了Android应用程序 ...

  7. [Android实例] app引导页(背景图片切换加各个页面动画效果)(申明:来源于网络)

    [Android实例] app引导页(背景图片切换加各个页面动画效果)(申明:来源于网络) 地址: http://www.eoeandroid.com/thread-918356-1-1.html h ...

  8. Android应用程序类型和进程状态

    来自<Android4高级编程> Android应用程序不能控制自己的生命周期,应用程序组件(Activity.Service等其他组件)必须监听应用程序状态的变化并做出适当的反应,而且特 ...

  9. Android应用程序开发疑问

    为什么android.util.log会提供五种不同级别的打印输出方式?(打印输出在Logcat窗口)比如:Log.v()用于打印比较琐碎的信息:Log.d()用于打印调试信息:Log.i()用于打印 ...

随机推荐

  1. JVM学习笔记(一)------基本结构

    从Java平台的逻辑结构上来看,我们可以从下图来了解JVM: 从上图能清晰看到Java平台包含的各个逻辑模块,也能了解到JDK与JRE的区别 对于JVM自身的物理结构,我们可以从下图鸟瞰一下: 对于J ...

  2. SGU 441 Set Division(矩阵快速幂)

    题目链接:http://acm.sgu.ru/status.php 题意:将n个有区别的球放到m个无区别的盒子里,盒子不能为空.不同的方案数. 思路:设f[i][j]表示将前i个球放到j个盒子里,那么 ...

  3. centos6.5安装mongodb

    搜索正面五个文件,由于MongoDB的redhat国外镜像访问非常慢,下载安装suse版本并安装: mongodb-org-2.6.6-1.i686.rpm mongodb-org-mongos-2. ...

  4. TCSRM 593 div2(1000)(dp)

    Problem Statement      The pony Rainbow Dash wants to choose her pet. There are N animals who want t ...

  5. 函数buf_page_hash_get_low

    /******************************************************************//** Returns the control block of ...

  6. UVa 10305 (拓扑排序) Ordering Tasks

    题意: 经典的拓扑排序.有n个任务,然后某些任务必须安排在某些任务前面完成,输出一种满足要求的序列. 分析: 拓扑排序用离散里面的话来说就是将偏序关系拓展为全序关系.我们将“小于”这种关系看做一条有向 ...

  7. UVa 1103 (利用连通块来判断字符) Ancient Messages

    本题就是灵活运用DFS来求连通块来求解的. 题意: 给出一幅黑白图像,每行相邻的四个点压缩成一个十六进制的字符.然后还有题中图示的6中古老的字符,按字母表顺序输出这些字符的标号. 分析: 首先图像是被 ...

  8. Asp.Net IEnumerable,ICollection,IList,List区别

    做C#的同学们,都知道,一类只能有一个继承类,但可以实现多个接口.这句话就告诉我们:IEnumerable,ICollection,IList,List区别了 首先我看看 IEnumerable: / ...

  9. Delegate 委托复习(-) 委托的基本概念

    1. 声明一个delegate对象,它应当与你想要传递的方法具有相同的参数和返回值类型.      声明一个代理的例子:     public delegate int MyDelegate(stri ...

  10. apache开源项目--dbutils

    原则上这不能说是一个持久层框架,它提供了一些Jdbc的操作封装来简化数据查询和记录读取操作.本站就是采用这个项目来读写数据库,代码非常简洁,如果你厌烦了Hibernate的庞大,不妨可以试试——DbU ...