调用 GCMRegistrar.register() 时泄漏 IntentReceiver 错误

2024-06-28

我正在尝试完成以下入门步骤谷歌的GCM http://developer.android.com/guide/google/gcm/gs.html来自 Google 的 Android 开发者网站。

当我的设备尝试注册时,由于以下原因而失败:

Activity 已从最初在此处注册的 com.google.android.gcm.GCMBroadcastReceiver 泄漏了 IntentReceiver。您是否错过了对 unregisterReceiver 的调用?

这是代码:

GCMRegistrar.checkDevice(this);
GCMRegistrar.checkManifest(this);
final String regId = GCMRegistrar.getRegistrationId(this);
if (regId.equals("")) {
    GCMRegistrar.register(this, senderId); // <-- It fails here
} else {
    Log.v("GCM", "Already registered");
}

任何想法?

我究竟做错了什么?

Update

这是我的清单:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sample"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />

    <permission android:name="com.sample.permission.C2D_MESSAGE" android:protectionLevel="signature" />

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="com.sample.permission.C2D_MESSAGE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >

        <activity
            android:name=".sample"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:theme="@android:style/Theme.NoTitleBar" android:name=".Main" android:screenOrientation="portrait" />
        <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.sample" />
          </intent-filter>
        </receiver>               
        <service android:name="com.sample.GCMIntentService" />
        <uses-library android:name="com.google.android.maps" />
    </application>

</manifest>

最后它起作用了。

我需要做的就是打电话给GCMRegistrar.onDestroy(this) in the onDestroy()我正在调用的同一上下文中的方法GCMRegistrar.register()

在这里找到:Google Cloud Messaging 中泄露的 IntentReceiver https://stackoverflow.com/questions/11299312/leaked-intentreceiver-in-google-cloud-messaging

感谢您的支持 :)

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

调用 GCMRegistrar.register() 时泄漏 IntentReceiver 错误 的相关文章

  • 在android中获取可移动SD卡路径

    我如何在android中获取extSdcard路径 有 2 个存储 第一个是所有手机都有的外部存储 但第二个存储称为可移动存储 微型 SD 卡 我想在android中获取micro SD卡的路径 这怎么可能 从 KitKat 开始 您可以访
  • 使用WebView登录Twitter

    您好 我使用浏览器完成了 Twitter 登录 Code TwitLoginActivity java 主要活动 package com app twitlogin import twitter4j Twitter import twitt
  • Overdraw 和 Romain Guy 的博客文章 Android 性能案例研究

    基于 Romain Guy 的博客文章Android 性能案例研究 http www curious creature org 2012 12 01 android performance case study 在谈到透支时 他这样说 删除
  • 在 Samsung Galaxy Tab 2.3.3 android 上禁用列表视图过度滚动

    我需要在列表视图中完全禁用过度滚动 以便我可以实现自己的过度滚动功能 查看核心列表视图类时似乎很简单 只需设置overscroll模式设置为 OVERSCROLL NEVER 这在我的三星 Galaxy s2 上表现良好 但不起作用Gala
  • Eclipse图形布局无法显示adView

    我从 Eclipse Helios 更新到 Eclipse Juno 将 Android SDK 工具更新到 v23 以及 Google Play lib 4 4 由于它们 我无法在 Eclipse 图形布局窗口中查看 XML 布局 我收到
  • 如何在android中获取Room数据库的行数?

    我遵循拥有存储库和道等的实践 我试图通过一个函数来获取数据库存储库中的行数 int getNumFiles List
  • 如何以及什么将 Java 字节码转换为 Android dex 文件?

    Android 中如何以及什么将 java 字节码转换为 dex 文件 我知道 Android 人们所做的唯一部分是为了避免许可问题 使系统执行速度快 内存需求低以及其他更多功能 因为它是基于寄存器的 VM 但我可以告诉它这样做的部分叫什么
  • ubuntu升级到14.04 TLS后eclipse Juno经常自动关闭

    在升级到 14 04 之前 我只是在使用 eclipse 但是升级到 14 04 后 我的 eclipse 经常关闭 没有任何警告消息 它会在我的桌面上生成一个 hs err pid4612 log 文件 我该如何解决这个问题 在 ecli
  • 用于带有 imageview 的可点击布局的 android 选择器

    伙计们 如果我有这样的布局
  • HttpClient 不在 Galaxy s2 上存储 cookie

    我正在尝试使用此代码从服务器获取数据 DefaultHttpClient httpClient new DefaultHttpClient httpClient getParams setParameter CoreProtocolPNam
  • Web 服务器上的身份验证和授权 ?

    我正在构建一个 Android 应用程序 它与 apache tomcat 上的 Web 服务器进行通信 Web 服务器采用 JAVA EE 构建 目前 为了进行身份验证和授权 我使用用户名 密码 为了管理会话 我使用令牌 因此 当用户登录
  • 访问 Android 崩溃报告

    当我使用 Sports Tracker 时 它崩溃了 当我按下 报告 按钮来报告崩溃时 我会看到一个简单的输入字段 要求对崩溃做出评论 但是 按 预览 将使我了解正在与崩溃日志一起发送的数据 数据量实际上是巨大的 包括日期 时间 设备名称
  • Android API 14 - 网络操作/AsyncTask

    我最近提出了一个基于使用 POST 数据进行 HTTP 请求的问题 在这里找到 Android API 14 将数据发布到 HTTP https stackoverflow com questions 8464204 android api
  • 发送电子邮件到多个地址 Android

    我想选择多个电子邮件地址 然后向所有这些地址发送电子邮件 我的代码如下 emailIntent putExtra android content Intent EXTRA EMAIL new String listofemailaddres
  • 如何将 gradle 项目转换为 android 项目

    我使用 Eclipse ADT 并且通过配置 gt 转换为 gradle 项目将我的 android 项目转换为 gradle 项目 实际上我需要将我的 gradle 项目转换为 android 项目 我怎样才能做到这一点 Eclipse
  • Android 上的推送器

    我正在尝试让 Pusher 在 Android 上运行 这是我的需求 必须支持 私人 频道 必须支持安全连接 必须能够覆盖推送器 身份验证端点 注意 我已经尝试过以下路线 在 WebView 中加载 Pusher js 并让它回退到 Soc
  • React Native“hello world”快速启动:“无法连接到开发服务器”

    我正在尝试做本地反应 hello world 并且我在我的android上使用usb调试 I ran react native run android then react native start 我可以在中查看js文件localhost
  • 语音识别器在第一个结果后听不到声音

    我在Android中使用SpeechRecognizer和RecognizerIntent来实现语音识别 我的目标是在语音识别器在屏幕上显示结果后重新开始收听语音 为此 我使用以下代码 问题是 第一次运行良好并显示结果 但在第二次开始监听
  • Android GCM SERVICE_NOT_AVAILABLE

    我试图举这个例子 https code google com p gcm source browse git 2Fgcm client https code google com p gcm source browse git 2Fgcm
  • 如何获取android后台运行进程详细信息

    我想列出所有后台运行进程并从一个后台服务 没有 UI 获取这些进程的详细信息 详情如下 1 Name 2 Memory usage 3 Application related to process 4 Files they are acce

随机推荐

  • 在 docker 中为 docker golang api 的容器设置端口

    我期待使用 docker golang api 做下面这样的事情 cmd docker run t i p 8989 8080 image name bin bash 我也在使用golang sdkhttps github com moby
  • 如何在 Spring Boot Health 中添加自定义健康检查?

  • 如何创建独立的电梯 Web 应用程序?

    如何制作独立的电梯应用程序 使用哪些工具 库 与在某些应用程序服务器中使用 lift 应用程序作为战争相比 性能如何 使用 onejar maven 插件http onejar maven plugin googlecode com svn
  • 创建视图中可用的自定义助手

    我有太多文本实用方法 例如MakeShortText string text int length RemoveTags string text TimeAgo DateTime date 和别的 我想从单独的助手访问它们 如下一个示例所示
  • Visual Studio Code - 基于 .gitignore 自动排除

    我希望 VSCode 根据我的情况自动排除文件 文件夹 gitignore配置 对于资源管理器排除 我找到了一个扩展 explorer excluded files它管理着files exclude设置 但对于快速打开文件 cmd p 我什
  • GitHub 的 README 支持哪些文件类型

    我注意到 GitHub README 使用了许多不同的文件类型 最常见的是 md and rst 查看 GitHub 文档和帮助页面后 我没有找到有关允许哪些文件类型的信息 我只是在寻找类型列表 以便我可以找出可以在下一个自述文件中使用哪些
  • AngularJS 与 Apache Tiles

    我在我的项目中使用 Spring MVC 和 AngularJS AngularJs 可以吗 routing和 ngView 被用来代替or与阿帕奇瓷砖框架 据我所知 使用 routing 和 ngView 我们创建模板并在单页应用程序中重
  • 使用 CSS2 将

    有没有一个好的跨浏览器解决方案来拆分单个 ul 分成两列 或者最好的方法仍然是使用两个相邻浮动的单独列表 我正在寻找单一的解决方案 因此如果需要替代 HTML 来支持旧版浏览器 则不允许使用 CSS3 优点 要求浏览器支持IE7 FF3 我
  • Elasticsearch 主分片不平衡

    我注意到我的 elasitcsearch 集群中有一个奇怪的行为 正如您在下面的屏幕截图中看到的 它显示了 kopf 插件 大多数主分片位于 nl 1 服务器上 我认为 elasitcsearch 在所有服务器上均匀地平衡了主分片 我错了吗
  • 如何反转 TextView 选取框的方向

    我想反转 TextView 中选取框的方向 默认情况下 文本从右向左移动 我希望它从左向右移动 我怎样才能做到这一点 我想出了一个非常简单易行的方法来做到这一点 我制作了一个选框效果 根据我们的选择向两个方向移动 所以 这里有一个技巧 我在
  • 在一项服务中引用多个 API 调用 (Angular)

    我正在通过 Angular http 请求访问 API 以收集不同足球队的信息 如果我只访问一个团队 那就没问题了 我将创建一个进行调用的服务 然后在我的控制器中引用该服务函数 但是 我希望在多个团队中执行此操作 而不必为每个团队创建单独的
  • 有没有办法调用需要 IEnumerable 且具有单个值的 C# 方法? ...通过基准测试[重复]

    这个问题在这里已经有答案了 我只是想知道我是否错过了一些语法糖或微优化 如果我调用一个需要 IEnumerable 值的方法 但我只有一个值 那么我将该单个值放入一个数组中 例如 var x 1 23 SquareAllTheNumbers
  • 在.NET Core中注入通用接口

    我想将此接口注入到我的控制器中 public interface IDatabaseService
  • 如何获取 Angular2 中元素的当前位置信息

    我有ElementRef我的导航栏 我试图找出它离我的窗口顶部有多近 这样我就可以让它粘起来 div class nav bar div ViewChild navBar navBarElement 我正在滚动事件中打印出它的 native
  • 如何确定 RecyclerView 最后一项在屏幕上可见?

    我有一个RecyclerView我将数据列表添加到RecyclerView 我想在列表中添加更多数据 最后一次RecyclerView项目在屏幕上可见 之后我想进行网络服务调用并更新RecyclerView数据 我怎样才能实现这个目标 有什
  • 有没有办法让控制台应用程序仅使用 .NET Core 中的单个文件运行?

    在 NET框架中 您可以制作一个 EXE将从命令行运行的文件 无需任何额外的配置文件 如果使用 ILMerge 您可以将所有 DLL参考文献1 EXE集会 我正在尝试使用 NET Core 来完成同样的事情 但到目前为止还没有成功 即使是最
  • 获取英汉对齐数据

    使用 TranslateArray2 我能够获取我想要的大多数语言的对齐数据 但不能获取英语到中文 zh 的对齐数据 我怎么才能得到它
  • 如何在 Mac v 10.7.2 上安装/使用 php

    我是对使用 PHP 感兴趣的普通大学生 谁能告诉我 101 如何使用简单明了的语言在 mac 版本 10 7 2 上安装 启用它 我将感谢任何和所有的帮助 Cheers 无需安装 PHP 或 Apache 它们已随 Mac 10 7 一起提
  • ios中的过滤器数组检查多个属性

    我有一系列自定义对象 自定义对象看起来像这样 interface User NSObject property nonatomic strong NSString user Id property nonatomic strong NSSt
  • 调用 GCMRegistrar.register() 时泄漏 IntentReceiver 错误

    我正在尝试完成以下入门步骤谷歌的GCM http developer android com guide google gcm gs html来自 Google 的 Android 开发者网站 当我的设备尝试注册时 由于以下原因而失败 Ac