java 切换后台程序_Android实例-程序切换到后台及从后台切换到前台

1 unitUnit1;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 procedureButton1Click(Sender: TObject);19 procedureButton2Click(Sender: TObject);20 procedureButton3Click(Sender: TObject);21 procedureTimer1Timer(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 procedureNo1SendAppToBack;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 functionSharedActivityManager: JActivityManager;56 var

57 AService: JObject;58 begin

59 AService :=SharedActivityContext.getSystemService(TJContext.JavaClass.ACTIVITY_SERVICE);60 Result := TJActivityManager.Wrap((AService asILocalObject).GetObjectID);61 end;62

63 //方法二:隐藏程序

64 procedureNo2SendAppToBack;65 begin

66 //网上说XE7是支持的,但是我用XE8不知道为什么不行。

67 //SharedActivityManager.moveTaskToBack(SharedActivity.getTaskId,TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);

68 end;69

70 //方法二:显示程序

71 procedureNo2SendAppToFront;72 begin

73 SharedActivityManager.moveTaskToFront(SharedActivity.getTaskId,TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);74 end;75

76 //隐藏程序并在5秒后再显示

77 procedureTForm1.Button1Click(Sender: TObject);78 begin

79 //隐藏程序

80 No1SendAppToBack;81 //打开定时器,显示程序(5秒后显示)

82 Timer1.Enabled :=True;83 end;84

85 procedureTForm1.Button2Click(Sender: TObject);86 begin

87 //隐藏程序

88 No2SendAppToBack;89 end;90

91 procedureTForm1.Button3Click(Sender: TObject);92 begin

93 //显示程序

94 No2SendAppToFront;95 end;96

97 procedureTForm1.Timer1Timer(Sender: TObject);98 begin

99 //显示程序

100 No2SendAppToFront;101 Timer1.Enabled :=False;102 end;103

104 end.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值