現在、ノートブックでc2dmアプリケーションをテストしています。 2台のエミュレータを使ってサーバ&クライアントデバイス間の通信をテストしました。問題は、2番目のデバイスが最初のデバイスと同じ[auth_token]を持つため、サーバーに登録できなかったことです。 (どちらも有効なgmailアカウントを持っています)。私は2つ(またはそれ以上)のエミュレータを異なる[auth_token]で使うことができる誰かが助けることができますか?前にありがとう.. :)同じauth_keyのためC2DM登録に失敗しました
答えて
私たちはシミュレータでC2DMをテストできません。 C2DMサーバーに登録するには、デバイスのマーケットアプリが必要です。また、市場アプリにサインインする必要があります。そのため、アプリは完璧に動作します。
は、私はこれが役立つ
public class C2DMRegistrationReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
Log.w("C2DM", "Registration Receiver called");
if ("com.google.android.c2dm.intent.REGISTRATION".equals(action)) {
Log.w("C2DM", "Received registration ID");
final String registrationId = intent
.getStringExtra("registration_id");
String error = intent.getStringExtra("error");
Log.w("C2DM", "Received registration ID"+registrationId);
Log.d("C2DM", "dmControl: registrationId = " + registrationId
+ ", error = " + error);
String deviceId = Secure.getString(context.getContentResolver(),
Secure.ANDROID_ID);
Log.w("C2DM", "Received device ID"+deviceId);
}
}
希望....
SharedPreferences wmbPreference1 = PreferenceManager.getDefaultSharedPreferences(LoginActivity.this);
boolean isRegistrationId = wmbPreference1.getBoolean("RegistrationId", true);
if(isRegistrationId)
{
Log.w("C2DM", "start registration process");
SharedPreferences.Editor editor = wmbPreference1.edit();
editor.putBoolean("RegistrationId", false);
editor.commit();
Intent intent = new Intent("com.google.android.c2dm.intent.REGISTER");
intent.putExtra("app",PendingIntent.getBroadcast(put here your current acitivity.this, 0, new Intent(), 0));`
intent.putExtra("sender", "[email protected]");//put here different gmail id
startService(intent);
}
を登録するためのコードの上に使用し、登録IDを受信するには、以下のクラスを使用していました。
こんにちはGanesh、返事のためのthx、私は前にその部分をしています。 1つのエミュレータでアプリケーションをテストすると、すべてうまく動作します。問題は2つのエミュレータを使いたいということです。 auth_tokenと同じregistration_idがc2dm serverによって指定されているため、2番目は登録に失敗しました。同じregistration_id(またはauth_token)のデバイスを2つ持つことはできませんか?だから、どうすれば私のエミュレータに別のregistration_idを持たせることができますか? Thxもう一度.. –
コードの上の井戸の男は私のためにもうまく2番目のエミュレータで動作し、私は上記のコードで使用しているすべてのgmailのidはエミュレータ - >設定 - >アカウントn同期 – Ganesh
- 1. Android c2dmの登録に失敗しました
- 2. 紛失したC2DM登録IDを回復しますか?
- 3. カーネルモジュールmokutil:新しい鍵の登録に失敗しました
- 4. Android SipManagerの登録に失敗しました
- 5. Sagepayフォームインテグレーションエラー5080(フォームトランザクションの登録に失敗しました)
- 6. ユーザーアカウントを持つデバイスの登録に失敗しました
- 7. Gitlab CI - ランナーの登録に失敗しました
- 8. Ambariクラスタ:ホストの登録に失敗しました
- 9. NKEソケットフィルタの登録に失敗しました
- 10. クライアントの登録に失敗しました
- 11. 5080:フォーム取引の登録に失敗しました
- 12. プッシュ通知の登録に失敗しましたiOS
- 13. データグリッドアイテムテンプレートのイベント登録に失敗しました
- 14. 複数ノードの登録に失敗しました
- 15. Googleプッシュ通知 - DOMException:登録に失敗しました - プッシュサービスエラー
- 16. ionic io:登録に失敗しました
- 17. コグニートプール - ユーザー登録に失敗しました
- 18. 登録時にAndroid C2DM AUTHENTICATION_FAILEDエラーが発生しました
- 19. Ambari確認ホストステップが失敗しました:サーバーへの登録に失敗しました
- 20. Android BLE:「スキャンに失敗しました。理由のアプリケーション登録がUUIDで失敗しました」
- 21. COM DLLの登録がTFS 2010で失敗しました
- 22. Deviseを使用した登録のリダイレクトは失敗します
- 23. サブスクリプションマネージャへの登録がRHELで失敗しました
- 24. Django登録:引数が足りないために登録が失敗した後にリダイレクト
- 25. 登録が成功したときにポップアップメッセージを表示し、失敗した場合は同じページのリダイレクト時に失敗メッセージを表示します
- 26. DOMException:登録に失敗しました - 許可が拒否されました
- 27. C2DM登録のメールアカウント
- 28. 展開または登録が失敗します
- 29. C2DMモバイル登録フェーズ
- 30. エラー:DEP0700:アプリの登録に失敗しました。エラー0x80070002:内部エラーまたはメモリ不足のため、パッケージを登録できません。
こんにちはPavandroid、返信用のthx。そうですか?私のアプリは最初のエミュレータでうまく動作するからです。これは、registration_id(またはauth_token)の重複のために登録に失敗した2番目のものに過ぎません。 –
私は確信しています。しかし、あなたはsimet/sのMaketアプリを持っていますか? – Pavandroid
ええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええんせんりょうだいかんせんちゃんのおかげで、 AFAIKでは、GoogleAPIsレベル8と有効なGmailアカウントを使ってエミュレータでc2dmをテストできます。 –