0

c2dm を登録しようとしていますが、常に次のエラーが表示されます。

05-18 10:48:32.357: D/C2DMRegistrar(225): [C2DMRegistrar.46] 登録: HTTP エラー 400

これは登録方法です:

public static final String EXTRA_SENDER = "sender";
public static final String EXTRA_APPLICATION_PENDING_INTENT = "app";
public static final String REQUEST_UNREGISTRATION_INTENT = "com.google.android.c2dm.intent.UNREGISTER";
public static final String REQUEST_REGISTRATION_INTENT = "com.google.android.c2dm.intent.REGISTER";
public static final String LAST_REGISTRATION_CHANGE = "last_registration_change";
public static final String BACKOFF = "backoff";
// public static final String GSF_PACKAGE = "com.google.android.gsf";

public static void register(Context context, String senderId) {
Intent registrationIntent = new Intent(REQUEST_REGISTRATION_INTENT);
// registrationIntent.setPackage(GSF_PACKAGE);
registrationIntent.putExtra(EXTRA_APPLICATION_PENDING_INTENT,
    PendingIntent.getBroadcast(context, 0, new Intent(), 0));
registrationIntent.putExtra(EXTRA_SENDER, senderId);
context.startService(registrationIntent);
}

GSF_PACKAGEあり、なしでテストしGSF_PACKAGEます。

SenderIdはメールアカウント XXXX@XXX.com で、次のようなメールを受け取りました。

From: noreply@google.com [mailto:noreply@google.com] 

Thank you for your interest in Android Cloud to Device Messaging (C2DM).
We've accepted your application into the trial group. The Google account
you requested as the sender account for your application:

 XXXX@XXX.com

私は AVD エミュレーターを使用しており、エミュレーターにも Google アカウントを持っています。実際のモバイルでも同じことが言えます。

で電話がかかってきませんC2DMBaseReceiver.onHandleIntent。そのエラーのみが表示されます。

何か案が?

4

1 に答える 1

0

エミュレーターで Google アカウントを設定しましたか? そうでない場合は、[設定] -> [アカウントと同期] -> [アカウントを追加] で設定してください。

于 2012-05-18T11:23:00.267 に答える