标签: android-c2dm

如何折叠Android通知?

我每半小时向我的Android应用发送一次C2DM更新,这会创建一个通知.问题是,当我早上醒来时,我在状态栏中排队了15个通知.

我如何只保留最新通知,覆盖以前的通知?

我试着查看C2DM文档(http://code.google.com/android/c2dm/),其中提到了一个名为collapse_key的参数,但我找不到如何使用它的解释,也不确定解决方案位于C2DM方面.

谢谢!

android push-notification android-c2dm

2
推荐指数
1
解决办法
6868
查看次数

C2DM注册重试

我使用C2DM,如果注册成功,它工作正常.但有时注册失败,然后尝试注册:

Intent retryIntent = new Intent(C2DM_RETRY);
PendingIntent retryPIntent = PendingIntent.getBroadcast(context, 
        0 /*requestCode*/, retryIntent, 0 /*flags*/);

AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.ELAPSED_REALTIME,
             backoffTimeMs, retryPIntent);
Run Code Online (Sandbox Code Playgroud)

但是,如果警报管理器触发此意图该怎么办?我必须抓住它吗?因为某种程度上程序永远不会重新注册.

android broadcast android-intent android-c2dm

2
推荐指数
1
解决办法
751
查看次数

使用C#的c2dm服务器

有谁知道是否有可能用C#创建一个c2dm服务器端?如何添加所需参数(电子邮件,密码等)?

c# android android-c2dm

2
推荐指数
1
解决办法
3234
查看次数

Google对CD2M的限制是多少?

C2DM文件指出,

Google会限制发件人汇总发送的邮件数量,以及发件人发送给特定设备的邮件数量

有人特别知道谷歌限制了多少?

android-c2dm

2
推荐指数
1
解决办法
2860
查看次数

HttpURLConnection c = URL.openConnection(); c.setRequestProperty()不起作用

这里的代码是一个普通的Java应用程序,而不是一个Android应用程序,它设计用于将带有YOUR_REGISTRATION_STRING的C2DM消息作为开发人员用auth_key发送,问题描述如下

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;

import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLSession;


public class C2DMSendMessage {
    private final static String AUTH = "authentication";

    private static final String UPDATE_CLIENT_AUTH = "Update-Client-Auth";

    public static final String PARAM_REGISTRATION_ID = "registration_id";

    public static final String PARAM_DELAY_WHILE_IDLE = "delay_while_idle";

    public static final String PARAM_COLLAPSE_KEY = "collapse_key";

    private static final String UTF8 = "UTF-8";

    // Registration is currently hardcoded
    private final static String YOUR_REGISTRATION_STRING = "APA91bGf8gkFMn_sBP_hosSAiqUmmLwOdIqVSQKbbqXv2WSADQ51gbixInAGUk1U_vDIcz7izVaq6tvu8KXGsiQ7BIKy_7f04id00SUms8h3YGxbsKd6Jjg";

    public …
Run Code Online (Sandbox Code Playgroud)

java httpurlconnection android-c2dm

2
推荐指数
1
解决办法
2万
查看次数

Xtify注册​​如何运作?

我目前正在我的项目上实现推送通知功能.我设法使用xtify这样做,因为它是与Google的C2DM服务交互的好包装.

现在,正如大多数人可能知道的那样:xtify使用名为xid的标识符进行通信并将通知推送给用户.所以在我的主要活动中(用户打开应用程序时显示的第一个),我有以下代码:

    XtifySDK.start(getApplicationContext(), Constants.XTIFY_APP_KEY,
        Constants.C2DM_SENDER_ID);
    String xid = XtifySDK.getXidKey(getApplicationContext());
    if (!"".equals(xid) && xid != null) {
      App.setXid(xid);
    }
Run Code Online (Sandbox Code Playgroud)

现在我的问题是:

  • xid是否永久连接到设备?或者是否可以更改/撤销它?
  • 我应该将它存储在数据库中(使用用户信息)吗?并在每次用户连接时检查他/她是否已经有相关的xid,如果没有,请致电

    String xid = XtifySDK.getXidKey(getApplicationContext());

生成一个新的? - 有没有办法让Android模拟器获取通知?

先谢谢你们,

android push-notification android-emulator android-c2dm xtify

2
推荐指数
1
解决办法
1768
查看次数

适用于Ruby on Rails的Android Google Cloud Messaging gem 3

对于之前称为C2DM的GCM,是否有新的宝石用于轨道上的红宝石.

如果不是那样的话,我们是否应继续使用旧的gem作为C2DM,就像github上的那样

提前致谢.

android android-c2dm ruby-on-rails-3 google-cloud-messaging

2
推荐指数
1
解决办法
5175
查看次数

"允许拒绝:接收意图"的原因

我成功地使这些c2dm实现在我的应用程序上工作.

当设备突然没有收到c2dm消息时,我遇到了问题.这次它给了我许可否认,我很困惑:

权限拒绝:接收Intent {
act = com.google.android.c2dm.intent.REGISTRATION cat = [myapp.android](有额外内容)}到myapp.android需要myapp.android.permission.C2D_MESSAGE,因为发件人com.google. android.location(uid 10037)

它第二次发生在我身上,我不能告诉我的用户他们在没有收到任何命令时需要执行恢复出厂设置.这里有没有人遇到类似的问题?任何帮助或见解和原因将不胜感激.

manifest.xml按要求


   <receiver
        android:name="myapp.EmBroadcastReceiver"
        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="myapp" />
        </intent-filter>
    </receiver>
Run Code Online (Sandbox Code Playgroud)

...

<uses-permission android:name="myapp.android.permission.C2D_MESSAGE" />
<uses-permission android:name="android.permission.INTERNET" />
Run Code Online (Sandbox Code Playgroud)

android android-intent android-c2dm

2
推荐指数
1
解决办法
4296
查看次数

SERVICE_NOT_AVAILABLE Android GCM 上的某些设备

我使用 GCM 制作了一个用于通知的应用程序。我使用了本教程,我的代码几乎相同

http://developer.android.com/google/gcm/client.html

我正在物理设备和某些设备上进行测试,当我尝试使用 GCM 注册设备时出现 SERVICE_NOT_AVAILABLE 错误。

我有一个指数退避设置,所以它会随着时间的推移重试。

它适用于我大约一半的测试设备,其他设备出现 SERVICE_NOT_AVAILABLE 错误。找遍了,还没找到解决办法。

任何帮助将不胜感激。谢谢你!

android android-c2dm google-cloud-messaging

2
推荐指数
1
解决办法
8188
查看次数

客户端(android)从服务器接收消息(java)

我正在尝试创建一个聊天应用程序.通信基于RESTful Web服务(Jersey).客户端与发送HTTP请求的服务器通信.我的问题是如何在没有客户端首先发送请求的情况下将消息从服​​务器发送到客户端.我读到了有关C2DM通知的信息,我想用这种方式,当客户端从服务器收到通知时(客户端)必须向服务器发送请求才能接收数据.我也在考虑使用套接字,但我不知道是否可以使用Rest.我的意思是在服务器端,我还可以使用REST代码的套接字(在较低级别运行的套接字)吗?我唯一可以使用套接字工作的是创建另一个带套接字的服务器(两个服务器RESTful和socket),但这是一个很好的解决方案吗?我也可以在客户端放置一些服务器代码,在服务器端放置一些客户端代码.这是正确有效的吗?你怎么看?哪种解决方案最好?

android android-c2dm

1
推荐指数
1
解决办法
4053
查看次数