0

我正在尝试实现 GCM 功能,但它适用于某些设备,但不适用于其他设备。

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

        GCMRegistrar.register(this, "xxxxxx");

    } 

这是我的代码,当我在 nexus 中启动应用程序时它工作正常并且应用程序在 GCMRegistrar.register(this, "xxxxxx"); 之后正常调用 GCMBaseIntentService 但是当我在三星 SII 中运行应用程序时,它会调用 GCMRegistrar.register(this, "xxxxxx"); 但从不调用 GCMBaseIntentService,没有任何方法。其他人也一样。

4

1 回答 1

0

也许你可以查看catlog,看看是否成功获取了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 帐户同步。如果是这样,请尝试转到设置并设置一个谷歌帐户。

于 2013-03-27T03:25:19.050 回答