问题标签 [android-c2dm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3200 浏览

ip - C2DM 的防火墙设置

我刚刚在Android系统中开发了一个测试应用程序,并尝试使用WiFi连接进行C2DM推送,但IT部门。希望我能提供C2DM IP地址来打开防火墙端口:5228。有人知道 Google C2DM 服务器的 IP 地址或 FQDN 吗?谢谢

0 投票
1 回答
171 浏览

android - 是否可以从 c2dm 服务器应用程序激活 Android 手机上的应用程序或活动?

到目前为止,我还没有进行任何 android 开发,但我想编写一个客户端服务器应用程序,允许人们使用浏览器与手机上的应用程序进行交互。

我想知道是否可以使用 c2dm 启动应用程序或执行其他操作,例如在 android 手机上进行活动?

理想情况下,我会在应用引擎中运行服务器端。

0 投票
1 回答
625 浏览

android - 如何将 C2DM 注册 ID 发送到 App Server

我设法实现了一个 android 应用程序(来自 C2DM 教程)来检索设备的注册 ID,但我现在不知道将其发送到我的应用程序服务器。谁能指导我如何做到这一点。谢谢。

0 投票
2 回答
3064 浏览

android - Android c2dm 自动注销

当我向设备发送通知时,该设备会收到推送消息,但它会收到“com.google.android.c2dm.intent.REGISTRATION”意图,而不是“com.google.android.c2dm.intent.RECEIVE” . 如果我尝试发送第二个通知,我会收到来自 Google 的“未注册”错误。

该设备注册良好(我猜),因为我得到了 Auth 令牌“APA91 ... -119 个字符-”。

这是我开始注册设备的代码:

发件人(这是在 Android 设备中完成的):

我的收件人:

我在设备上进行推送通知,因为如果我在服务器端进行,我总是会收到“InvalidRegistration”错误。

奇怪的是,我好像注册了,但是当我发送一条推送消息时,就像谷歌取消注册设备一样。

有什么想法/建议吗?

0 投票
2 回答
16217 浏览

android-c2dm - Android C2DM 端口号选择

我注意到 Google C2DM (push) tcp 连接使用端口 5228。我还知道一些防火墙会阻止 80 443 以外的端口(因为 htttp 和 https),这导致很多用户抱怨他们无法使用 Market例如,使用公司 wifi 在他们的手机上使用 app 或 GTalk。

现在我的问题是:为什么 Google 没有选择 443 或 80 端口作为他们的持久 tcp 连接?

0 投票
2 回答
1133 浏览

android - C2dM 的坏面

我们都知道,从 Android 2.2 开始,存在推送通知系统 (C2dM)。但是,我没有看到很多开发人员使用它。在我的下一个项目中,我计划(希望如此)使用这个系统。所以在深入研究之前,我想知道它有哪些不好的方面?为什么人们不使用它?

不能仅仅因为与 2.2 之前的系统不兼容。

0 投票
1 回答
178 浏览

android - c2dm 代码是否必须编写在为其注册的同一应用程序中?

我是 android 的新开发人员,需要对 android c2dm 服务进行一些说明。我有一个需要注册以接收推送通知的应用程序。我的问题是接收通知的代码是否与应用程序在 Eclipse 中属于同一个项目。如果在这种情况下,如果项目不再运行并且应用程序“关闭”,应用程序是否会收到推送通知。

提前致谢

0 投票
1 回答
935 浏览

android - 如何从 Android 上的 c2dm 侦听器唤醒/开始不运行应用程序?

当我的应用程序未在后台运行时,我在测试期间遇到了问题。我向它广播 c2dm 消息,它确实收到了它,我服务执行 AsyncTask 以从我的服务器上获取一些数据,一切都很好,直到它在“onPostExecute”上失败并出现 MessageQueue 错误:

在死线程上向 Handler 发送消息

当应用程序在后台运行时一切正常,但在后台运行时会失败。我必须以某种方式唤醒它吗?谢谢!

更新:这是我的 AsyncTask 的片段:

更新#2:错误堆栈跟踪

0 投票
1 回答
433 浏览

android - 在 C2DM 注册过程中将额外数据传递给 C2DMReceiver?

我正在现有的客户端/服务器 Android 应用程序上设置 C2DM。该应用程序已经建立了一组用于与服务器通信、登录用户以及维护用于服务器的身份验证令牌的类。

在文档之后,我添加了注册 C2DM 的代码并创建了一个 BroadcastReceiver 来接收响应。在我的 BroadcastReceiver 中,我收到了对包含注册 ID 的 onReceive() 方法的调用。我可以在调试器中看到它并将其记录到控制台。

问题是我现在需要将 ID 发送到我的服务器,但我不能,因为我无法访问我的应用程序的其余部分。BroadcastReceiver 不是 Intent 或 Context 或任何我熟悉的东西。如果我只有用户的身份验证令牌,我可以解决这个问题,但我也无法获得。我尝试将它作为注册意图的额外内容传递,但它在此过程中丢失了。

在 onReceive() 方法中获取额外内容或应用程序上下文的正确方法是什么?

谢谢,弗兰克

0 投票
5 回答
2110 浏览

android - Android C2DM 注册 ID

我正在构建一个使用 c2dm 的应用程序。

我认为每当我的应用程序的主要“意图”启动时,我都应该要求提供注册 ID。我一直在这样做,但似乎每个请求都会产生一个新字符串,所以我最终在我的数据库中为同一设备堆积了大量的注册 ID。我认为只有其中一个会起作用。但是,我不想只删除旧的,因为我希望我的用户在拥有多个设备时能够在多个设备上接收通知。

我该如何处理?