0

GCM 機能を実装しようとしていますが、一部のデバイスでは機能しますが、他のデバイスでは機能しません。

 GCMRegistrar.checkDevice(this);
    GCMRegistrar.checkManifest(this);
    final String regId = GCMRegistrar.getRegistrationId(this);
    if (regId.equals("")) {

        GCMRegistrar.register(this, "xxxxxx");

    } 

これは私のコードです。nexus s でアプリを起動すると正常に動作し、アプリは GCMRegistrar.register(this, "xxxxxx"); の後に GCMBaseIntentService を通常どおり呼び出します。しかし、Samsung SII でアプリを実行すると、GCMRegistrar.register(this, "xxxxxx"); が呼び出されます。ただし、GCMBaseIntentService を呼び出さないでください。どのメソッドも呼び出しません。同じことが他の人にも起こります。

4

1 に答える 1

0

カタログを確認して、regid が正常に取得されているかどうかを確認してください。

以下のエラーを参照してください: http://developer.android.com/google/gcm/gcm.html#handling_reg

ほとんどの場合、次の原因が考えられます。

W/GoogleLoginService(166): Device has no accounts: sending Intent {act=com.google.android.gsf.LOGIN_ACCOUNTS_MISSING }

一部のデバイスでは、デバイスに Google アカウントが同期されていないためです。その場合は、設定に移動して、Google アカウントを設定してみてください。

于 2013-03-27T03:25:19.050 に答える