好吧,我想出了自己。以防將來有人面對這個問題;
我會盡力解釋是什麼問題。
所以我有一個GCM集成的圖書館項目com.test.gcm-library。我想在另一個應用程序項目中使用這個庫,如com.example.gcmtest。通過遵循接受的答案here我設法成功地在我的com.example.gcmtest項目中使用該庫。它適用於API級別17,但是當我用api level 10嘗試它時,沒有任何GCMIntenetService方法會被調用,因爲我在我的問題中發佈了任何響應,但我終於設法修復了它。訣竅是在清單文件中更改接收者的意圖類別。準確地說,我改變了接收申報com.example.gcmtest從這個清單文件:
<receiver
android:name="com.test.gcm-library.MyCustomBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<!-- Receives the actual messages. -->
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<!-- Receives the registration id. -->
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="com.test.gcm-library" />
</intent-filter>
</receiver>
這樣:
<receiver
android:name="com.test.gcm-library.MyCustomBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<!-- Receives the actual messages. -->
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<!-- Receives the registration id. -->
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="com.example.gcmtest" />
</intent-filter>
</receiver>
我不知道爲什麼,但接收器類別字段看起來像API 17的「無關」條件,但對於較低的API,這是我必須做的工作。
不起作用?你能有點特別嗎?你收到任何錯誤信息嗎? –
嘗試[this](http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/)代碼絕對可以幫助您... 。您可能會錯過這個'<! - GCM需要Android SDK 2.2版(API級別8)或更高版本。 - > ' –
@kartheek我已經在我的測試應用程序清單文件中有這些設置。 –