《Android》『呼叫外部 App』- 透過 startActivity 執行外部 App 的基本方法

《簡單介紹》

在開發 Android 專案程式的過稱中,有時候會需要在特定的時候,呼叫其他應用程式來執行所需的功能,這邊來介紹一下該如何透過 startActivity 的方式,從一支程式開啟另一支程式。

 

《用法介紹》

要實作從 A 程式開啟 B 程式,有兩種方式,一種是在 B 程式的 AndroidManifest.xml 中設定一個自訂的 action name,再在 A 程式中將該 action name 透過 intent 的 setAction() 方法代入,並 startActivity 該 Intent 即可。

另一種方式,則是當我們已知 B 程式的 Package Name 與要啟動的 Class Name,則直接在 A 程式中,將 Package Name 與 Class Name 透過 intent 的 setComponent() 方法代入,並 startActivity 該 Intent 即可。

以下直接以程式碼片段的方式,來說明兩種方法的實作方式。

 

1. 透過 action name 呼叫另一支程式

首先我們在 Android Studio 專案中同時建置兩個應用程式,先建立 A 程式,在 A 程式專案點右鍵選 Module,接著選 Phone & Tablet Module ,就可以在此專案中建立另一個應用程式,接著,我們在 B 程式的 AndroidManifest.xml 中加入了一個 intent-filter,並且在其中自訂了一個 action 的字串,並且將其 category 設定為 default,相關程式碼如下 –

AndroidManifest.xml

接著,我們就可以在 A 應用程式的程式碼中,直接透過以下程式碼,來啟動 B 程式。

由 A 啟動 B 之程式碼

 

2. 透過 Package Name、Class Name 呼叫另一支程式

若是透過 Package Name 與 Class Name  的方式,我們可以直接由 A 啟動 B 而不需要額外註冊,由 A 啟動 B 之程式碼如下 –

由 A 啟動 B 之程式碼

當我們已知 B 程式的 Package Name 與要啟動的 Class Name 時,可以直接在 A 程式中,將 Package Name 與 Class Name 透過 intent 的 setComponent() 方法代入,並 startActivity 該 Intent 來啟動 B 程式。

賽肥膩膩

我們是低調到不行的肥膩夫妻檔,一路上一邊吵鬧一邊記錄著生活大小事,最近迷上了宅在家追劇,希望能透過文字將所有看過的影集好好紀錄,整理成屬於我們自己的回憶資料庫。

上 / 下一篇文章

臉書留言

一般留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *