2013年10月15日 星期二

Android GCM問題 -- GCMIntentService (has extras) }: not found

這個問題卡了我好久多天

Unable to start service Intent { act=com.google.android.c2dm.intent.REGISTRATION flg=0x10 pkg=   cmp=xxx.xxx.xxx  /.GCMIntentService (has extras) }: not found


通常GCMIntentService都會存在根目錄(root)之下,
所以android的gcm去抓GCMIntentService是去抓root的file,


但如果的project有許多package name的話,


你必須要去修改 GCMBroadcastReceiver 回傳GCMIntentService的class package name,



所以要自訂一個GCMReceiver去繼承GCMBroadcastReceiver,

並Override 掉 getGCMIntentServiceClassName 回傳你的GCMIntentService的package name,



再去修改AndroidMainfest.xml 的receiver android:name 與service android name



您可以參考 這篇:

http://stackoverflow.com/questions/12089428/gcm-with-custom-broadcastreceiver



http://dexxtr.com/post/28188228252/rename-or-change-package-of-gcmintentservice-class

1 則留言:

匿名 提到...

謝謝 現在在用android studio 也有這個問題