欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

java 切换后台程序_将 Android 程序切换到后台及从后台切换到前台实现

发布时间:2023/12/2 73 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java 切换后台程序_将 Android 程序切换到后台及从后台切换到前台实现 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

将 Android 程序切换到后台及从后台切换到前台实现

有时候, 我们需要将自己的 Android 程序切换到后台运行, 在必要时, 将其切换到前台运行下面提供了一种实现方式, 首先需要引用三个单元:

uses Androidapi.JNI.App,Androidapi.JNI.GraphicsContentViewText,Androidapi.Helpers;

将应用程序切换到后台, 这里提供了两种方法, 一种是将应用切换回桌面来实现, 执行后相当于按下 Home 键:

procedure SendAppToBack(Sender: TObject); 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;

另一种办法是调用 JActivityManager.moveTaskToBack 函数, 这种相当于按下返回键, 但程序没有退出我们先需要实现一个 ActivityManager 的服务实例, XE7 没有提供默认函数, 咱们模仿写一个, 这个函数在后面将程序切换到前台时一样需要用到:

function SharedActivityManager: JActivityManager; var AService: JObject; begin AService := SharedActivityContext.getSystemService(TJContext.JavaClass.ACTIVITY_SERVICE); Result := TJActivityManager.Wrap((AService as ILocalObject).GetObjectID); end;

现在切换到后台, 只需要一句代码:

procedure SendAppToBack; begin SharedActivityManager.moveTaskToBack(SharedActivity.getTaskId,TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK); end;

反过来, 切换到前台也只需要一句代码:Delphi/Pascal

procedureBringAppToFront;beginSharedActivityManager.moveTaskToFront(SharedActivity.getTaskId,TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);end;

使用 moveTaskToBack/moveTaskToFront 需要注意, 应用程序需要 reorder tasks 的授权 (自己到项目设置里勾选上就 OK 了)

来源: http://www.bubuko.com/infodetail-2495398.html

总结

以上是生活随笔为你收集整理的java 切换后台程序_将 Android 程序切换到后台及从后台切换到前台实现的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。