2012-04-11 5 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を見つけるためにしようとすると、それが何かを見つけるしないのですか?

EDIT: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また、「デバイスが応答を読み取ることができない、またはサーバーから500/503が読み取られた後で再試行することができます。アプリケーションは指数バックオフを使用して再試行する必要があります。 – Rob

+0

はい私はサインアップしました。登録がまだ有効かどうかはわかりませんが、問題がアカウントの場合は、AUTHENTICATION_FAILEDまたはINVALID_SENDERのようなエラーが発生するでしょう – Alexis

関連する問題