Android实例-程序切换到后台及从后台切换到前台
相关资料:
http://www.delphitop.com/html/Android/2933.html
程序包下载:
http://download.csdn.net/detail/zhujianqiangqq/9649918
注意事项:
使用moveTaskToBack/moveTaskToFront需要应用程序有reorder tasks授权,如果没有权限,执行时程序会闪退。
实例代码:
- 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, FMX.ScrollBox, FMX.Memo;
- type
- TForm1 = class(TForm)
- Timer1: TTimer;
- Button1: TButton;
- Label1: TLabel;
- Button2: TButton;
- Button3: TButton;
- Memo1: TMemo;
- procedure Button1Click(Sender: TObject);
- procedure Button2Click(Sender: TObject);
- procedure Button3Click(Sender: TObject);
- procedure Timer1Timer(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
- var
- Form1: TForm1;
- implementation
- uses
- Androidapi.JNI.App,//需要引入
- Androidapi.JNI.GraphicsContentViewText,//需要引入
- Androidapi.Helpers,//需要引入
- Androidapi.JNI.JavaTypes,//需要引入
- Androidapi.JNIBridge;//需要引入
- //使用moveTaskToBack/moveTaskToFront需要应用程序有reorder tasks授权,如果没有权限,执行时程序会闪退。
- {$R *.fmx}
- //方法一:隐藏程序
- procedure No1SendAppToBack;
- var
- intent:JIntent;
- begin
- intent:= TJIntent.Create;
- intent.setAction(TJIntent.JavaClass.ACTION_MAIN);
- intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
- intent.addCategory(TJIntent.JavaClass.CATEGORY_HOME);
- SharedActivityContext.startActivity(intent);
- end;
- //方法二:获得活动管理器
- function SharedActivityManager: JActivityManager;
- var
- AService: JObject;
- begin
- AService := SharedActivityContext.getSystemService(TJContext.JavaClass.ACTIVITY_SERVICE);
- Result := TJActivityManager.Wrap((AService as ILocalObject).GetObjectID);
- end;
- //方法二:隐藏程序
- procedure No2SendAppToBack;
- begin
- //网上说XE7是支持的,但是我用XE8不知道为什么不行。
- // SharedActivityManager.moveTaskToBack(SharedActivity.getTaskId,TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
- end;
- //方法二:显示程序
- procedure No2SendAppToFront;
- begin
- SharedActivityManager.moveTaskToFront(SharedActivity.getTaskId,TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);
- end;
- //隐藏程序并在5秒后再显示
- procedure TForm1.Button1Click(Sender: TObject);
- begin
- //隐藏程序
- No1SendAppToBack;
- //打开定时器,显示程序(5秒后显示)
- Timer1.Enabled := True;
- end;
- procedure TForm1.Button2Click(Sender: TObject);
- begin
- //隐藏程序
- No2SendAppToBack;
- end;
- procedure TForm1.Button3Click(Sender: TObject);
- begin
- //显示程序
- No2SendAppToFront;
- end;
- procedure TForm1.Timer1Timer(Sender: TObject);
- begin
- //显示程序
- No2SendAppToFront;
- Timer1.Enabled := False;
- end;
- end.
Android实例-程序切换到后台及从后台切换到前台的更多相关文章
- tesseract ocr文字识别Android实例程序和训练工具全部源代码
tesseract ocr是一个开源的文字识别引擎,Android系统中也可以使用.可以识别50多种语言,通过自己训练识别库的方式,可以大大提高识别的准确率. 为了节省大家的学习时间,现将自己近期的学 ...
- Android实例-程序界面内截取屏幕(XE8+小米2)
结果: 1.只能截取程序界面内的图片. 2.图片有点不清楚,自己设置清楚度. 实例代码: unit Unit1; interface uses System.SysUtils, System.Type ...
- Android应用程序MVC框架实例分析
问题提出:如何优雅地分离出应用程序的状态.用户交互和数据表现?如何通过框架体现工程的高性能.高灵活性.高响应性? MVC定义:model.view.controller三者的有机组合,分别表示:模型. ...
- Android实例-多窗口的切换
Android实例-多窗口的切换 1.图片一是程序运行后的界面. 2.图片二是点击"非模态显示"的界面. 3.图片三是点击"模诚显示"的界面(提示平台不支持). ...
- Android L Camera2 API 使用实例程序汇总
在网上发现几个使用Camera API2开发的实例程序,总结一下方便后续参考: 1.Camera2 Basic : https://github.com/googlesamples/android-C ...
- Android应用程序组件Content Provider应用实例
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6950440 文简要介绍了Android应用程序 ...
- [Android实例] app引导页(背景图片切换加各个页面动画效果)(申明:来源于网络)
[Android实例] app引导页(背景图片切换加各个页面动画效果)(申明:来源于网络) 地址: http://www.eoeandroid.com/thread-918356-1-1.html h ...
- Android应用程序类型和进程状态
来自<Android4高级编程> Android应用程序不能控制自己的生命周期,应用程序组件(Activity.Service等其他组件)必须监听应用程序状态的变化并做出适当的反应,而且特 ...
- Android应用程序开发疑问
为什么android.util.log会提供五种不同级别的打印输出方式?(打印输出在Logcat窗口)比如:Log.v()用于打印比较琐碎的信息:Log.d()用于打印调试信息:Log.i()用于打印 ...
随机推荐
- JVM学习笔记(一)------基本结构
从Java平台的逻辑结构上来看,我们可以从下图来了解JVM: 从上图能清晰看到Java平台包含的各个逻辑模块,也能了解到JDK与JRE的区别 对于JVM自身的物理结构,我们可以从下图鸟瞰一下: 对于J ...
- SGU 441 Set Division(矩阵快速幂)
题目链接:http://acm.sgu.ru/status.php 题意:将n个有区别的球放到m个无区别的盒子里,盒子不能为空.不同的方案数. 思路:设f[i][j]表示将前i个球放到j个盒子里,那么 ...
- centos6.5安装mongodb
搜索正面五个文件,由于MongoDB的redhat国外镜像访问非常慢,下载安装suse版本并安装: mongodb-org-2.6.6-1.i686.rpm mongodb-org-mongos-2. ...
- TCSRM 593 div2(1000)(dp)
Problem Statement The pony Rainbow Dash wants to choose her pet. There are N animals who want t ...
- 函数buf_page_hash_get_low
/******************************************************************//** Returns the control block of ...
- UVa 10305 (拓扑排序) Ordering Tasks
题意: 经典的拓扑排序.有n个任务,然后某些任务必须安排在某些任务前面完成,输出一种满足要求的序列. 分析: 拓扑排序用离散里面的话来说就是将偏序关系拓展为全序关系.我们将“小于”这种关系看做一条有向 ...
- UVa 1103 (利用连通块来判断字符) Ancient Messages
本题就是灵活运用DFS来求连通块来求解的. 题意: 给出一幅黑白图像,每行相邻的四个点压缩成一个十六进制的字符.然后还有题中图示的6中古老的字符,按字母表顺序输出这些字符的标号. 分析: 首先图像是被 ...
- Asp.Net IEnumerable,ICollection,IList,List区别
做C#的同学们,都知道,一类只能有一个继承类,但可以实现多个接口.这句话就告诉我们:IEnumerable,ICollection,IList,List区别了 首先我看看 IEnumerable: / ...
- Delegate 委托复习(-) 委托的基本概念
1. 声明一个delegate对象,它应当与你想要传递的方法具有相同的参数和返回值类型. 声明一个代理的例子: public delegate int MyDelegate(stri ...
- apache开源项目--dbutils
原则上这不能说是一个持久层框架,它提供了一些Jdbc的操作封装来简化数据查询和记录读取操作.本站就是采用这个项目来读写数据库,代码非常简洁,如果你厌烦了Hibernate的庞大,不妨可以试试——DbU ...