GCM

2012-09-26 8 views
7

onRegistered विधि कहा जाता हो जाता है कभी नहीं कहा जाता है नहीं onRegistered, logcat में मैं wakelock प्राप्त करने के रूप में अंतिम पंक्ति देखें।GCM

  • 09-26 14: 03: 23.285: डी/GCMRegistrar (15820): 03:: 23.285:
  • 09-26 14 के लिए backoff को रीसेट वी/GCMRegistrar (15820): पंजीयन एप्लिकेशन * एक प्रेषकों 735175912799 की
  • 09-26 14: 03: 23.895: वी/GCMBroadcastReceiver (15820): onReceive: - com.google.android.c2dm.intent.REGISTRATION 09-26 14: 03: 23.895: वी/GCMRegistrar (15820): रीट्री रिसीवर क्लास का नाम * .notifications.MyGCMBroadcastReceiver
  • 09-26 14: 03: 23.895: वी/जीसीएमबीआरकास्ट रिसीवर (15820): जीसीएम IntentService वर्ग: - * .notifications.GCMIntentService
  • 09-26 14: 03: 23.903: वी/GCMBaseIntentService (15820): wakelock हासिल करना

मैं अपने खुद के Broadcastreceiver है:

import com.google.android.gcm.GCMBroadcastReceiver; 

public class MyGCMBroadcastReceiver extends GCMBroadcastReceiver { 

    @Override 
    protected String getGCMIntentServiceClassName (Context context) { 
     return GCMIntentService.class.getCanonicalName(); 
    } 

} 

उत्तर

1

मुझे एक समान समस्या थी। यह पता चला कि मैं ApplicationManifest.xml में जोड़ने के लिए भूल गया:

<service android:name=".GCMIntentService"/> 
1

के बाद आम समाधान कर रहे हैं:

1) का नाम आप सेवा के रूप में "GCMIntentService"

2) डिफ़ॉल्ट पैकेज में अपने GCMIntentService रखो

3) जीसीएम रजिस्टर अनुरोध भेजने से पहले

GCMRegistrar.checkDevice(this); 
GCMRegistrar.checkManifest(this); 

ताकि अगर आपके डिवाइस या मेनिफेस्ट में कोई समस्या हो तो यह आपको बताएगा। 4) अनुमतियों की जांच करें। अनुमतियों में विशेष रूप से पैकेज मैने की जांच करें। यह एक घोंसला है, अगर आप अनुमति में पैकेज नाम से गड़बड़ करते हैं, तो यह नवीनतम एंड्रॉइड (जेली बीन +) के लिए काम करेगा लेकिन कम डिवाइसों में असफल होगा

संबंधित मुद्दे