0

我正在嘗試做一些我不確定的事情是否可行。我創建了我的android應用程序「ABC」。我使用GCM從我的第三方服務發出通知。獲取android應用程序的通知歷史記錄

現在我的客戶端問他想要第三方服務器發佈的所有通知的歷史記錄。我對此持懷疑態度。

我相信我可能會顯示由用戶響應的服務器發出的所有通知的列表。不過,我認爲用戶未回覆的通知不能由我的應用程序記錄。

這是真的嗎?

我的代碼中有這個廣播接收器,它響應GCM消息。

<receiver 
      android:name="com.mob.uae.notifications.GcmBroadcastReceiver" 
      android:permission="com.google.android.c2dm.permission.SEND" > 
      <intent-filter> 
       <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 

       <category android:name="com.evento.uae" /> 
      </intent-filter> 
     </receiver> 

無論用戶對通知採取什麼行動,都不應該調用它嗎? 。如果即使在我的應用程序關閉時也會調用它,那麼我認爲我們有辦法記錄針對我的所有通知。

任何想法的天才?

回答

0

無論用戶採取何種行動,每次GCM消息到達設備時都會激活廣播接收器。因此,如果您希望在每臺設備上本地記錄消息,則可以執行此操作。

你甚至可以在服務器端記錄它,如果廣播接收器中的代碼會觸發到服務器的調用,以通知它該消息已被應用程序接收(在這種情況下,最好啓動一個意圖服務,並讓服務與服務器進行通信)。

+0

這意味着我的代碼中實現的GCM廣播接收器將在廣播時調用,無論我的應用程序是關閉還是不正確? –

+0

@MuhammadAhmedAbuTalib這是正確的。唯一的例外是,如果應用程序被用戶強制關閉,它將停止獲取GCM消息,直到用戶再次手動啓動。 – Eran

+0

伊蘭。你通過武力關閉什麼意思? 。我唯一擔心的是我的應用程序甚至不在歷史堆棧中。例如,手機已重新啓動,目前沒有應用程序在後臺運行。 在這種情況下,我還能夠接收GCM嗎? –