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

《簡單介紹》

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

 

《用法介紹》

前面我們已經介紹過如何透過 startActivity 從 A 程式開啟 B 程式,這邊我們介紹另一種方式,也就是透過廣播接收器來完成這個動作,該怎麼做呢?首先,我們必須在 B 程式中,建立一個繼承自 BroadcastReceiver 的類別當作廣播接收器,接著註冊一個自訂的 Action,之後就可以利用這個 Action,串連起 A、B 程式間的廣播接收機制。

以下直接透過程式碼片段,說明實作的方式 –

Receiver.java

我們在 B 程式中,自訂了一個繼承自 BroadcastReceiver 的 Receiver 類別,並在其中過濾我們將要自訂的 Action 字串,以用來執行我們想做的動作。

於 AndroidManifest.xml 中註冊廣播接收器

接著將剛剛自訂的 Action 字串,於 AndroidManifest.xml 中註冊,如此一來,當 A 程式送出帶有此 Action 字串的廣播時,就會喚醒 B 程式並執行 Receiver 類別中的 onReceive() 方法。

由 A 啟動 B 之程式碼

最後,在 A 程式中,只要送出帶有剛剛所自訂的 Action 之廣播時,就會喚醒 B 程式並執行 Receiver 類別中的 onReceive() 方法,透過 intent 我們甚至還可以將一些 B 可能需要的資料由 A 傳遞給 B。

賽肥膩膩

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

上 / 下一篇文章

臉書留言

一般留言

發佈留言

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