2016-05-13 123 views
-1

每當我殺掉我的android應用程序(從任務列表中刪除它)時,即使優先級很高,我也無法收到GCM通知。無法接收GCM通知

這裏是我的JSON數組

$fields = array(
     'registration_ids' => $registatoin_ids, 
     'data' => $message, 
     'priority' => "high", 
     'delay_while_idle' => false, 
     'time_to_live' => 86400 // time in seconds (24 hours) 
    ); 

你看,我有它的優先級設置爲高。我的應用工作正常,我也收到GCM通知,但只有當它在任務列表中或在後臺運行時。
請幫幫我。

我試圖通過這個線程

device doesn't receive notification if application is stopped

得到,但不解決我的問題。

+0

[Android GCM(推送通知):設備在應用程序停止時沒有收到通知]的可能重複(http://stackoverflow.com/questions/12073449/android-gcm-push-notification-device-doesnt-收到通知,如果-APPLICAT) –

回答

0

Have look here to understand GCM Structure

Reference

這種廣播接收機應接收消息,即使我的應用程序被關閉(不只是如果我的應用程序是在幕後,但即使是力停止)。 如果用戶強制停止您的應用程序的設置,那麼您的代碼將永遠不會再運行,直到手動運行其中一個組件(通常爲用戶手動啓動活動(從Android 3.1起))。因此,如果用戶從設置強制停止您的應用程序,您將不會收到較新設備/仿真器上的GCM消息。

所以,只有當它運行或在後臺(但不關閉),我的應用程序是否可以接收消息(並且onReceive()方法將在廣播接收器中調用)是否正確? 從應用程序的角度來看,Android沒有「關閉」的概念。如果通過「關閉」,你的意思是「沒有正在運行的進程,最後進程正常終止」,那麼是的,你應該接收GCM消息和其他廣播。但是,強制停止不是「正常終止」。