還記得我們之前介紹過 app 動態註冊 GCM Receiver 的方式嗎?那時候 K.Top 的站長大大還有留言問說如果 app 結束如何不漏接 GCM 訊息,當時是討論到靜態註冊、Service 等等的方式...其實筆者當時也是懵懵懂懂的,畢竟接觸 Android 也沒有粉久,對於 Android 內建的一些功能、機制並不是粉清楚的瞭解。
又經過一段時間的研究後,才瞭解其實靜態註冊過後,即便 app 在背景或是甚至 app 沒有啟動,device 仍然能收到 GCM 發送過來的訊息,主要是因為 AndroidManifest.xml 已經向作業系統「登記」要監聽(receiver)該訊息了,只是收到該訊息後該如何處理,就是由各 app 決定了,因此不需要再寫個 Service 這麼麻煩。
不過以當時接收訊息後是寫了一段 java code 再銜接到 FMX 的 OnReceive,可是如果 app 並非開啟中,這樣寫不就嗝屁了(Instance 並不存在)?
所以必須修改 java code 的寫法,原理就不在此贅述了。趕搭目前流行用語,文章下半段會附上「懶人包」,讓你不知道、不會 GCM,也可以整合自己的 app 在 3 秒鐘之內接收到 GCM 的訊息,只要你事先準備好兩樣東西
1.SenderID