[FMX]將 Android 程式切換到後台及從後台切換到前台實現

來源:互聯網
上載者:User

標籤:運行   tle   xe7   send   class   應用   int   項目   roi   

有時候,我們需要將自己的Android程式切換到後台運行,在必要時,將其切換到前台運行。下面提供了一種實現方式,首先需要引用三個單元:

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

將應用程式切換到後台,這裡提供了兩種方法,一種是將應用程式切換回案頭來實現,執行後相當於按下 Home 鍵:

 
12345678910 procedure SendAppToBack(Sender: TObject);var  intent:JIntent;beginintent:= 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 沒有提供預設函數,咱們模仿寫一個,這個函數在後面將程式切換到前台時一樣需要用到:

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

現在切換到後台,只需要一句代碼:

 
1234 procedure SendAppToBack;beginSharedActivityManager.moveTaskToBack(SharedActivity.getTaskId,TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);end;

反過來,切換到前台也只需要一句代碼:

     Delphi/Pascal 
1234 procedure BringAppToFront;beginSharedActivityManager.moveTaskToFront(SharedActivity.getTaskId,TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK);end;

使用 moveTaskToBack/moveTaskToFront 需要注意,應用程式需要 reorder tasks 的授權(自己到項目設定裡勾選上就OK了)。

[FMX]將 Android 程式切換到後台及從後台切換到前台實現

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.