有沒有辦法確定,如果現在可以發送推送通知? 據我所知不可能,但我不知道。Android C2DM:確定現在是否可以發送推送通知
所以我的情況是這樣的: 我有我的Android手機上的Android應用 我有我自己的服務器
我的應用應該與我的朋友們的應用程序的Android手機通信。 現在我正在尋找一個實時通信框架,我想C2DM可以幫助我。
因此,可以說: 我的手機上的一個應用程序應該寫一點消息,我的應用程序在手機上B. 讓我們假設,一個手機在線,可以與我的服務器進行通信。因此,電話A會將消息發送到我的服務器,而我的服務器現在會嘗試將此消息傳遞給電話B.
而這就是我的服務器將嘗試通過C2DM將消息傳遞到電話B的關鍵,以及這也是我的服務器需要知道的點,如果它可能通過C2DM發送此消息。否則,我的服務器應該使用另一種通信方式來傳遞消息,如短信或其他。
所以問題是,我真的需要知道它是否可能在這個時候通過C2DM(當然,我的服務器知道電話B的C2DM註冊ID)提供給電話B. 否則,例如,如果電話B未連接到互聯網並且無法接收C2DM推送通知,我的服務器會向手機B發送短信。
如果手機B在線,是否可以確定? 我試圖做的是,達到每個用戶(如果他的電話打開)。如果他在線,那麼通過C2DM,否則通過SMS,以便在任何情況下在這個時刻發送消息。
注意: 我知道C2DM可以存儲通知並在手機B在線時發送存儲的通知,但那不是我想要使用它的方式。還請注意,我知道(架構)如何使用C2DM。因此,應該從電話A傳送到電話B的「消息」不會直接通過C2DM推送通知傳遞,消息文本/敏感數據作爲消息主體。當然,傳遞的消息只是一個「更新消息」,告訴我的手機B上的應用程序,有些事情已經發生變化,應用程序應該立即連接到我的服務器,以獲得(輪詢)最新狀態的「文本消息」從手機A發送給您(手機B)
謝謝您的回答。那麼我想節省電池電量,這就是爲什麼我會通過C2DM實現它。 – sockeqwe 2012-03-10 14:08:59