首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓C2DM设备注册出现401错误

安卓C2DM设备注册出现401错误
EN

Stack Overflow用户
提问于 2012-04-13 06:52:52
回答 1查看 542关注 0票数 1

我正在尝试使用谷歌的C2DM服务注册一个安卓设备,但是当我在手机上安装应用程序时,我在logcat中得到了以下信息:

W/DefaultRequestDirector( 1210):身份验证错误:无法响应以下任何挑战:{} D/C2DM注册器( 1210):C2DMRegistrar.30注册器: http错误401E/C2DM注册器( 1210):C2DMReg handleRequest捕获org.apache.http.auth.AuthenticationException

我还将我发送给Google的内容打印到logcat。它明确地跟在后面,只去掉了电子邮件地址。这个电子邮件地址就是我在谷歌注册成为推送通知发送者的地址。

意向附加:捆绑包{sender=me@myemail.com,app=PendingIntent{4471c300: android.os.BinderProxy@44762840}}

ComponentName对象( startService调用的结果):ComponentInfo{com.google.android.gsf/com.google.android.gsf.gtalkservice.PushMessagingRegistrar}

要澄清的是,这不是向设备发送实际消息的问题-我还没有走到那一步。此问题与注册设备有关。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2012-06-22 04:41:36

有几件事你需要确保你已经完成注册: 1.使用谷歌电子邮件帐户在Android C2DM网站上注册2.使用该帐户将注册意向发送到谷歌服务器。您的注册意图应如下所示:

代码语言:javascript
复制
public void registerApp() {
    Intent intent = new Intent("com.google.android.c2dm.intent.REGISTER");
    intent.putExtra("app",
            PendingIntent.getBroadcast(this, 0, new Intent(), 0));
    intent.putExtra("sender", "youraccont@gmail.com");
    ComponentName result = startService(intent);
    Log.d("Intent", "" + result);
}

还要确保在您的清单中声明这一点

如果您使用的电子邮件帐户不是由谷歌管理的,这也可能是导致问题的原因。您只需注册一个新的gmail帐户,即可用于您的c2dm推送通知。

希望这能有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10132999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档