我試圖將我的應用程序從C2DM服務遷移到新的GCM推送通知。我已成功集成了擴展GCMBaseIntentService的GCMIntentService類。當我使用PHP從服務器發送推送通知時,GCM將消息數據作爲JSON對象發送。我在我的Android GCM服務中使用了下面的代碼,它用新的代碼返回一個空值。未使用JSON的GCM推送通知
public void onMessage(Context context, Intent intent)
{
String action = intent.getAction();
if ("com.google.android.c2dm.intent.RECEIVE".equals(action)) {
message=intent.getStringExtra("message");
createNotification(context);
}
}
PHP腳本包含:
$頭=陣列( '授權:鍵=' $ apiKey, '內容類型:應用/ JSON' );
// Open connection
$ch = curl_init();
// Set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
請建議我什麼都我需要在我的PHP腳本的變化使用GCM庫和JSON沒有發送推送通知。
在此先感謝 添
只是想確認我們是否可以只使用JSON與推送消息發送數據。 – Timson 2012-07-20 11:28:37
不,它必須用JSON封裝 - 並且確切地說只有帶有String參數的json(因爲向後兼容到2.2) – ligi 2012-07-20 11:54:14
謝謝。我已經完成了解析JSON的代碼,並且它從我的應用程序中工作正常:) – Timson 2012-07-23 04:31:25