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 程序切换到后台及从后台切换到前台实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 东莞房产备案查询系统官网(东莞房产备案查
- 下一篇: android随机匹配,基于进程调度的A