GCM Android:未调用onRegistered()

GCM Android:未调用onRegistered(),第1张

概述我在 Android上遇到GCM问题.它无法在我的一个测试设备(Droid2)上执行onRegistered()回调或返回一个好的regId – 但它在另一个设备(Galaxy Nexus)上运行得非常好. 我正在关注基本示例here.调用者看起来像这样: GCMRegistrar.checkDevice(this);GCMRegistrar.checkManifest(this);fina 我在 Android上遇到GCM问题.它无法在我的一个测试设备(DroID2)上执行onRegistered()回调或返回一个好的regID – 但它在另一个设备(galaxy Nexus)上运行得非常好.

我正在关注基本示例here.调用者看起来像这样:

GCMRegistrar.checkDevice(this);GCMRegistrar.checkManifest(this);final String regID = GCMRegistrar.getRegistrationID(this);if (regID.equals(""))    GCMRegistrar.register(this,Constants.SENDER_ID);else    Log.v(TAG,"Already registered");

我的清单有这样的:

<uses-permission androID:name="com.Google.androID.c2dm.permission.RECEIVE" /><uses-permission androID:name="androID.permission.INTERNET" /> <uses-permission androID:name="androID.permission.GET_ACCOUNTS" /><uses-permission androID:name="androID.permission.WAKE_LOCK" />

<receiver    androID:name="com.Google.androID.gcm.GCMbroadcastReceiver"    androID:permission="com.Google.androID.c2dm.permission.SEND" >    <intent-filter>        <action androID:name="com.Google.androID.c2dm.intent.RECEIVE" />        <action androID:name="com.Google.androID.c2dm.intent.REGISTRATION" />        <category androID:name="com.gcl.myapp" />    </intent-filter></receiver>

为什么onRegistered()回调不起作用?什么可能导致它在一个设备上工作,但在另一个设备上失败?谢谢.

解决方法 如果它适用于某些设备但不适用于其他设备,则可以使用以下某项设备:

>在AndroID 4.0.4之前,该设备需要有效的Google帐户才能运行.
> GCM仅适用于具有Play商店应用程序和API 8的设备.
>您的清单格式错误 – 使用lint检查!
>设备/应用程序已经注册,Play实现可能不会再次返回..尝试GCMRegistrar.unregister(this);第一.

希望有所帮助!

总结

以上是内存溢出为你收集整理的GCM Android:未调用onRegistered()全部内容,希望文章能够帮你解决GCM Android:未调用onRegistered()所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1129143.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存