Android 谷歌云消息传递示例无法正常工作

2024-01-11

我正在关注这里的教程http://developer.android.com/google/gcm/gs.html http://developer.android.com/google/gcm/gs.html为了设置 GCM。 我目前正在尝试注册设备。 然而,由于某种原因,应用程序似乎总是崩溃 gcm = GoogleCloudMessaging.getInstance(this);

堆栈跟踪似乎指向以下内容: 06-18 13:42:20.909:I / dalvikvm(11613):找不到方法com.google.android.gms.gcm.GoogleCloudMessaging.getInstance,从方法pushNotification.PushNotification$1.run引用

这是我迄今为止所拥有的示例

public PushNotification(Context c, Activity activity)
{
    context = c;
    this.activity = activity;
    regid = getRegistrationId(context);

    if (regid.length() == 0) {
        Log.d("IN PUSHNOTIFICATION ","NOT REGISTERED. REGISTERING NOW.....");
        registerBackground();
    }
    Log.d("IN PUSHNOTIFICATION ","REGISTRATION COMPLETE.....");
    Log.d("IN PUSHNOTIFICATION ","REGISTRATION ID IS: " + regid);
    gcm = GoogleCloudMessaging.getInstance(activity); //never reaches this code

}

private void registerBackground() {

    Thread thread = new Thread(new Runnable()
    {
        public void run()
        {
            String msg = "";
            try {
                if (gcm == null) {
                    Log.d("IN PUSHNOTIFICATION", "IN BACKGROUND. gcm == NULL");
                    gcm = GoogleCloudMessaging.getInstance(context);
                    Log.d("IN PUSHNOTIFICATION", "IN BACKGROUND. AFTER gcm.GETINSTANCE");
                }
                Log.d("IN PUSHNOTIFICATION", "IN BACKGROUND. BEFORE gcm.register");
                regid = gcm.register(SENDER_ID);
                msg = "Device registered, registration id=" + regid;
                Log.d("IN PUSHNOTIFICATION", "IN BACKGROUND. regid == " + regid);
                // You should send the registration ID to your server over HTTP,
                // so it can use GCM/HTTP or CCS to send messages to your app.

                // For this demo: we don't need to send it because the device
                // will send upstream messages to a server that echo back the message
                // using the 'from' address in the message.

                // Save the regid - no need to register again.
                setRegistrationId(context, regid);
            } catch (IOException ex) {
                Log.d("IN PUSHNOTIFICATION", "IN BACKGROUND. EXCEPTION ERROR ERROR: ex = " + ex.getMessage());
                msg = "Error :" + ex.getMessage();
            }
        }
    }
    );
    thread.start();
}

这是完整的堆栈跟踪

06-18 13:42:20.909:D/IN 推送通知 (11613):未注册。 立即注册...... 06-18 13:42:20.909:I/dalvikvm(11613):无法 查找方法 com.google.android.gms.gcm.GoogleCloudMessaging.getInstance, 从方法pushNotification.PushNotification$1.run 引用 06-18 13:42:20.909:W/dalvikvm(11613):VFY:无法解析静态方法 5967: Lcom/google/android/gms/gcm/GoogleCloudMessaging;.getInstance (Landroid/content/Context;)Lcom/google/android/gms/gcm/GoogleCloudMessaging; 06-18 13:42:20.909: D/dalvikvm(11613): VFY: 替换操作码 0x71 0x0015 06-18 13:42:20.909: I/dalvikvm(11613): 找不到方法 com.google.android.gms.gcm.GoogleCloudMessaging.register,引用 来自方法pushNotification.PushNotification$1.run 06-18 13:42:20.909:W/dalvikvm(11613):VFY:无法解析虚拟方法 5969: Lcom/google/android/gms/gcm/GoogleCloudMessaging;.注册 ([Ljava/lang/String;)Ljava/lang/String; 06-18 13:42:20.909: D/dalvikvm(11613):VFY:替换 0x0039 06-18 处的操作码 0x6e 13:42:20.909:D/IN 推送通知(11613):注册完成...... 06-18 13:42:20.909:D/IN 推送通知 (11613):注册 ID 是: 06-18 13:42:20.909: D/AndroidRuntime(11613): 关闭虚拟机 06-18 13:42:20.909: W/dalvikvm(11613): threadid=1: 线程退出 未捕获的异常(组=0x2b542210)06-18 13:42:20.909:D/IN 推送通知 (11613):在后台。 gcm==NULL 06-18 13:42:20.909: W/dalvikvm(11613): threadid=20: 线程退出 未捕获的异常(组=0x2b542210)06-18 13:42:20.909: I/Process(11613):发送信号。 PID:11613 SIG:9 06-18 13:42:20.919:I/ActivityManager(278):进程 com.gotoohlala(pid 11613)已经去世。


我解决了这个问题。 虽然我链接到 google-play-services_lib 项目,但我还必须将 jar 文件 google-play-services_lib.jar 添加到项目中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 谷歌云消息传递示例无法正常工作 的相关文章

  • 从 GCM 2.0 迁移到 GCM 3.0 InstanceID API

    目前我已经在 Play 商店上发布了我的应用程序 并且在该项目中我正在使用 compile com google android gms play services 7 0 0 Google Play 服务库版本7 0在我的项目中使用 Go
  • 我应该在我的活动中缓存来自 SharedPreferences 的数据吗?

    我正在开发一个基于 GCM 的应用程序 用户可以在其中订阅多个主题 我需要知道用户在两个地方订阅了哪些主题 主要活动 展示Subscribe or Unsubscribe用户界面中的按钮 GCM 侦听器服务 通过以下方式过滤消息并处理 过时
  • 从 Android 通知中的 URL 加载图像

    在我的 Android 应用程序中 我想动态设置将从 URL 加载的通知图标 为此 我使用了setLargeIcon中的NotificationBuilder的属性receiver 我参考了很多链接并尝试了各种解决方案 但无法获得所需的输出
  • GCM 条款和条件

    有谁知道在哪里可以找到有关哪些内容可以通过 GCM 通知发送以及哪些内容不可以发送的条款和条件 我似乎在任何地方都找不到任何文档 当您注册开设 Google API 帐户时 您会得到这些条款和条件 https developers goog
  • 在 android studio 上单击推送通知后重定向到特定活动

    我正在努力开发一个 Android 应用程序 以便在单击所有传入的推送通知时将应用程序重定向到特定的活动页面 我是 Android 开发新手 对我的编程感到抱歉 下面是推送通知部分的 android manifest xml 如果对此主题有
  • WPF 应用程序的最佳本地数据库解决方案是什么?

    目前适用于 WPF 应用程序的最佳解决方案是什么一台电脑 where 各种用户登录它们并使用它们在本地获取 保存信息 以下是我看到选项的方式 MDF似乎是最好的选择 因为我假设您可以很好地锁定它 这样即使用户可以访问 mdf 文件 他们仍然
  • Google Cloud Messaging 显示成功消息但未发送 iOS

    所以我在使用 Google Cloud Messaging 时遇到了一个非常奇怪的问题 我遇到的问题是它正在成功注册设备 并且当发送消息时我会收到来自 Google 的成功消息 但设备永远不会收到任何消息 我从 GCM 得到的消息是 res
  • 将大型 CSV 加载到 Google BigQuery 时出错

    将大型 CSV 加载到 bigquery 时出现错误 我在网上阅读的所有地方都发现压缩文件有 5GB 大小限制 但 CSV 没有限制 加载操作中的 BigQuery 错误 处理作业 bqjob r3016bbfad3037f 0000015
  • 将网站部署到云服务的最佳实践

    在云服务上部署多个网站的最佳实践是什么 我有三个网站 是否可以将这三个网站部署到一个云服务中 一个云服务三个实例 或者我是否必须创建三个云服务并单独部署每个网站 谢谢 我的服务定义文件
  • Windows Azure 实例到底是什么? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 在 Windows Azure 门户上 截至 2013 年 1 月 当我将 Windows Azure 网站实例从 1 扩展到 6 时 我会得到什么
  • 使用 GcmListenerService 的多个 GCM 侦听器

    Google 建议使用 GcmListenerService 代替 GcmBroadcastReceiver 我正在制作一个使用 GCM 的库项目 com android library 插件 当应用程序项目 com android app
  • 无法使用 Google App Engine (GAE) 连接到 Google Cloud Messaging (GCM) 服务器

    我正在尝试为我的应用程序设置谷歌云消息传递 并且我正在为我的服务器使用谷歌应用程序引擎 我有 API 密钥 但似乎无法连接到 google 云消息服务器 这是我的代码 HttpClient client new DefaultHttpCli
  • C++:如何构建没有 void 指针的事件/消息系统?

    我希望在我的 C 项目中拥有一个动态消息传递系统 其中有一个固定的现有事件列表 事件可以在运行时的任何地方触发 并且您可以在其中订阅某些事件的回调函数 应该有一个选项可以在这些事件中传递参数 例如 一个事件可能不需要任何参数 EVENT E
  • gcm 一次可以有多少台设备接收推送消息

    我有大约 1500 个注册 ID 我尝试发送 1 个推送通知 但事实并非如此 GCM 是否不允许每条消息发送超过 1000 个注册 ID 这是正确的 对 GCM 的单个请求最多可以包含 1000 个注册 ID 您必须将 1500 个 ID
  • 在elasticsearch中存储聊天消息的最佳方式

    我们目前正在实施一项即时通讯系统在我们的平台上 我们需要为我们的用户提供聊天记录并能够显示用户最近进行的 5 次对话 像 Facebook 上的预览一样 事实上 我们必须考虑如何才能存储所有这些数据 我们正在使用弹性搜索我们认为这可能是存储
  • iOS 对 Google 云消息传递的支持

    我在谷歌的开发者控制台中看到 GCM 允许为 iOS 生成 API 密钥 我在网上搜索了有关如何在 iOS 应用程序中通过 GCM 实现推送通知的任何类型的文档 但没有找到答案 真的有可能在 iOS 应用程序中使用 GCM 实现推送通知 j
  • 活动侦听器 - Google 云消息传递 - BroadcastReceiver

    我已经在我的 Android 应用程序中实现了 GCM 并且它在接收消息方面工作正常 BroadcastReceiver 是根据 Google 提供的示例在清单文件中设置的 我的问题如下 如果用户打开应用程序并且我想更新该视图中的一些结果
  • 如何为 Android 应用程序创建可扩展的日历服务后端?

    我们希望在我们的服务器上为 Android 应用程序的每个用户维护一个日历 该用户只有只读访问权限 这可能会导致我们的服务器有时每天创建超过 1000 个日历 如果我们使用像 Google 这样的日历 API 那就意味着每天从我们应用程序的
  • 是否有任何模拟器/工具可以生成流式传输消息?

    出于测试目的 我需要模拟客户端每秒生成 100 000 条消息并将它们发送到 kafka 主题 有没有任何工具或方法可以帮助我生成这些随机消息 有一个用于生成虚拟负载的内置工具 位于bin kafka producer perf test
  • 如何维护两个google-services.json,生产和调试

    我在我的应用程序中包含了 gcm 功能 为此我需要维护两个 google services json 一个用于debug和一个用于release建造 怎么做 我可以在不使用 google services json 的情况下配置 gcm 吗

随机推荐