해당 코드는 메인 액티비티에 들어있습니다.
public String GCMRegistration_id() {
GCMRegistrar.checkDevice(this);
GCMRegistrar.checkManifest(this);
final String regId = GCMRegistrar.getRegistrationId(this);
if (regId.equals("")) {
GCMRegistrar.register(this, Common.SENDER_ID);
} else {
Log.e(TAG, "registration id ===== " + regId);
//Log.e(TAG, "Already registered");
}/**/
return regId;
}
protected void onDestroy() {
super.onDestroy();
GCMRegistrar.onDestroy(this);
//unbindService(connection);
}
====================================================
Manifest 파일입니다.
<!-- GCM -->
<receiver
android:name="com.google.android.gcm.GCMBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="kr.co.livinginfor" />
</intent-filter>
</receiver>
<service android:name="kr.co.livinginfor.GCMIntentService" />
</application>
<uses-sdk android:minSdkVersion="8" /> <!-- 푸시 서비스 최소버전(2.2) -->
<!-- GCM 부터-->
<!-- General permissions -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!-- GCM permissions -->
<permission android:name="kr.co.livinginfor.permission.C2D_MESSAGE" android:protectionLevel="signature" />
<uses-permission android:name="kr.co.livinginfor.permission.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
=======================================================================
이런식으로 코드를 짰는데요, regId가 리턴이 안되는건 물론이고
Registering kr.co.comcom of senders 111111111111111(프로젝트의 Sender ID)
resetting backoff for kr.co.comcom
이게 여러번 반복이 되고 GCMIntentService 에 디버그 찍어봐도 넘어가질 않습니다.
에러가 나면 모르겠는데 딱히 에러가 나오는 것도 아닙니다.