2012-04-11 2 views
0

C2DM에 등록하려고 시도하지만 작동하지 않습니다. 내 프로젝트에 com.google.android.c2dm을 포함 시켰습니다.C2DM 인 텐트 (안드로이드)를 사용할 수 없습니다.

String action = "com.google.android.c2dm.intent.REGISTER"; 
final PackageManager packageManager = context.getPackageManager(); 
final Intent intent = new Intent(action); 
List<ResolveInfo> list = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); 

list.size()은 0 어떤 생각을주고 : 나는 com.google.android.c2dm.intent.REGISTER을 발견 할 때, 그것은 아무것도 찾을하지 않는 이유는 무엇입니까?

편집 : MU 매니페스트 파일은 교정하는 권한이 포함되어

<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
+0

2.1 장치를 사용하고 있습니까? C2DM은 2.2 이상에서 작동합니다. – petey

+0

2.2 이상 개발. – Alexis

답변

0

당신은 당신이 당신의 매니페스트 파일에 com.google.android.c2dm.permission.RECEIVE 권한이 있는지 확인해야합니다.

또한, 나는 당신이 기본 설정에 대한 the full docs을 참조 할 수 있습니다 다음 상용구

Intent registrationIntent = new Intent("com.google.android.c2dm.intent.REGISTER"); 
registrationIntent.putExtra("app", PendingIntent.getBroadcast(this, 0, new Intent(), 0)); 
registrationIntent.putExtra("sender", emailOfSender); 
startService(registrationIntent); 

를 사용하여 등록을 구현했습니다.

+0

수정 된 질문. 그리고 나는 동일한 코드를 사용하지만 물론 오류를 발생시킵니다 : SERVICE_NOT_AVAILABLE – Alexis

+0

당신이 c2dm에 가입했다고 가정하고 있습니까? http://code.google.com/intl/sv-SE/android/c2dm/signup.html 또한 Google에서 오류 "장치가 응답을 읽을 수 없거나 서버에서 500/503이 발생했음을 의미합니다. 나중에 다시 시도 할 수 있습니다. 응용 프로그램은 지수 적으로 백 오프를 사용하고 다시 시도해야합니다. " – Rob

+0

예 가입했습니다. 내 등록이 아직 활성화되었는지는 모르지만 문제가 내 계정 인 경우 AUTHENTICATION_FAILED 또는 INVALID_SENDER와 같은 오류가 발생합니다. – Alexis