2

出於某種原因,使用「GCMRegistrar.register(this,SENDER_ID);」適用於4.0+設備。 但是,它停留在以下消息中,未收到Google的GCM通知。GCM卡在2.3.3上的寄存器上薑餅設備

註冊應用發件人(我的包),(我的API#)

1),因爲它的工作4.2.1清單和接收器應該是正確的。

2)我有谷歌播放和

...我已經尋找好幾天,但沒有找到答案2.3.3設備上與谷歌帳戶鏈接。 任何人都知道什麼是錯的或有相同的問題?

謝謝

回答

10

我發現這只是因爲我沒有正確設置接收器的類別。

因爲我把我所有的源代碼放在一個庫項目中,並引用它與每個單獨的應用程序,我需要重命名清單中的3個不同的地方。

1)

<permission 
     android:name="digital.dispatch.mobilebooker.base.permission.C2D_MESSAGE" 
     android:protectionLevel="signature" /> 

<permission 
     android:name="digital.dispatch.mobilebooker.(my app name).permission.C2D_MESSAGE" 
     android:protectionLevel="signature" /> 

2)

<uses-permission 
     android:name="digital.dispatch.mobilebooker.base.permission.C2D_MESSAGE" /> 

3)

<category android:name="digital.dispatch.mobilebooker.base" /> 

<category android:name="digital.dispatch.mobilebooker.(my app name)" /> 

爲什麼它在4.0 +設備工作的原因是因爲我只是做了前兩個,但不是3)。 由於4.0+設備不關心接收者的類別,因此它工作正常。 但是,當我在2.3.3設備上進行測試時,該類別實際上很重要,導致它沒有收到任何響應。

希望這可以幫助其他任何遇到相同情況的人。

+0

感謝您提交您自己的解決方案。我有同樣的問題! – Tom

+0

我的問題在範疇內。 – Yar