文档章节

java.lang.IllegalArgumentException: Receiver not registered

luhang
 luhang
发布于 2017/02/09 13:27
字数 416
阅读 17
收藏 0
点赞 0
评论 0

错误提示:java.lang.IllegalArgumentException: Receiver not registered。。


顾名思义就是Receiver没有被注册,这是由于取消了没有注册的Receiver导致的错误。

我们使用Receiver时必须保证注册(register)和反注册(unregister)成对出现。

遇到这种问题时,你需要检查下自己代码中注册和反注册的代码,看下是否存在多次调用unregister的时候。

很多时候都是想当然认为会那样,但是程序中可能有我们未预料的出口,比如我的程序中在onCreate注册,finish取消注册,理论进入、退出时应该成对出现,但实际报错了!分析到最后是原布局中使用了TabActivity、GroupActivity等多种结构嵌套,退出当前Activity时,finish方法被执行了多次。

所以建议Receiver注册和反注册的过程放到onResume和onPause过程中,两个理由:

(1)这两个过程肯定会成对出现,因此可以避免上述错误。

(2)一般我们使用Receiver是为了接受通知来更改UI(特殊情况除外),而对于Activity(UI)界面位于后台时,没必要去接受通知更改UI。

示例:

在 Adroid2.1 和 Adroid2.2 设备上,如果 Activity 中使用到 ViewFlipper 控件,进行横竖屏切换操作时会发生如下错误信息

java.lang.IllegalArgumentException: Receiver not registered: android.widget.ViewFlipper$1@43dee3c0

这是由于 onDetachedFromWindow() 莫名其妙地在 onAttachedToWindow() 之前被调用了。据说是一个 Bug ,不知在最新的 2.3 上是否修正。

下面提供一个很简单的解决方案,重写 ViewFlipper 的 onDetachedFromWindow() 方法

@Override
protected void onDetachedFromWindow () {
try {
super.onDetachedFromWindow();
}
catch (IllegalArgumentException e) {
stopFlipping();
}
}

本文转载自:http://blog.csdn.net/qq_18413391/article/details/52770508

共有 人打赏支持
luhang
粉丝 3
博文 15
码字总数 571
作品 0
长宁
程序员
Service not registered

Caused by: java.lang.IllegalArgumentException: Service not registered:com.broadcom.bt.app.settings.ServiceExtraSettingsActivity@414e11e0 at android.app.LoadedApk.forgetServiceDi......

程序袁_绪龙
2014/10/31
0
0
zookeeper 异常日志

java应用连接zookeeper,应用的日志文件中经常打印以下日志信息: [INFO ] [2017-02-10 10:59:09,247] [ClientCnxn$SendThread:975] [] [] []- [Opening socket connection to server 192.1......

彭小位
2017/02/10
299
1
hadoop集群启动报错,高手帮忙

2013-07-14 11:36:59,161 INFO org.apache.hadoop.hdfs.server.namenode.NameNode: STARTUPMSG: / STARTUPMSG: Starting NameNode STARTUPMSG: host = hadoopmaster/192.168.182.135 STARTUP......

likeUbuntu
2013/07/14
3.5K
4
hadoop集群疯掉了

集群配置好几天了。就是没办法成功。无密码SSH登陆弄好了。现在就是启动的时候,发现:第一次执行jps可以看到一些JVM实例的运行。等我待会输入的jps的时候,那些JVM实例又神奇消失了。 看了一...

likeUbuntu
2013/07/17
1K
3
项目启动时org.springframework.beans.factory.BeanCreationException

以下是报错的详细信息,请问这是什么原因要怎么解决 2017-07-11 13:21:05 -0 [localhost-startStop-1] ERROR - Context initialization failed org.springframework.beans.factory.BeanCreat......

方糖in
2017/07/11
54
1
架构设计之源:设计模式的场景分析(1)Publish-Subscribe

架构设计之源:设计模式的场景分析(1)Publish-Subscribe Author: Poechant Blog: blog.CSDN.net/Poechant Email: zhongchao.ustc@gmail.com Date: February 24th, 2012 我在设计模式方面仅......

晨曦之光
2012/04/24
156
0
android 获取wifi 信号质量

获取方法: private String obtainWifiInfo() { // Wifi的连接速度及信号强度: WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); // WifiInfo wifiInfo = wifiMan......

韩工
2012/04/27
0
0
Android4: HDMI system in ICS

Android4.0 framework默认支持hdmi, 工作流程: HDMI状态改变时driver通过UEvent "DEVPATH=/devices/virtual/switch/hdmi" 上报给系统 --> 系统在PhoneWindowManager中通过UEventObserver中获......

长平狐
2012/06/20
1K
0
第7课:Spark Streaming源码解读之JobScheduler内幕实现和深度思考

本期内容: 1,JobScheduler内幕实现 2,JobScheduler深度思考 DStream的foreachRDD方法,实例化ForEachDStream对象,并将用户定义的函数foreachFunc传入到该对象中。foreachRDD方法是输出操...

葛晨鑫
2016/05/14
80
0
CADisplayLink与CAShapeLayer配合实现的水波纹效果(iOS开发 水波纹效果)

最终效果如下图所示 2. CADisplayLink CADisplayLink和其它CoreAnimation类一样,都是在QuartzCore.framework里。 CADisplayLink最主要的特征是能提供一个周期性的调用我们赋给它的selector的...

hell03W
2016/07/29
279
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

HashMap? ConcurrentHashMap? 相信看完这篇没人能难住你!

前言 Map 这样的 Key Value 在软件开发中是非常经典的结构,常用于在内存中存放数据。 本篇主要想讨论 ConcurrentHashMap 这样一个并发容器,在正式开始之前我觉得有必要谈谈 HashMap,没有它...

crossoverJie
8分钟前
2
0
OSChina 周一乱弹 —— 你的朋友圈有点生锈了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @Devoes :分享Trademark的单曲《Only Love (电视剧《妙手仁心 II》插曲)》: 《Only Love (电视剧《妙手仁心 II》插曲)》- Trademark 手机党少...

小小编辑
今天
249
9
【面试题】盲人坐飞机

有100位乘客乘坐飞机,其中有一位是盲人,每位乘客都按自己的座位号就坐。由于盲人看不见自己的座位号,所以他可能会坐错位置,而自己的座位被占的乘客会随便找个座位就坐。问所有乘客都坐对...

garkey
今天
1
0
谈谈神秘的ES6——(二)ES6的变量

谈谈神秘的ES6——(二)ES6的变量 我们在《零基础入门JavaScript》的时候就说过,在ES5里,变量是有弊端的,我们先来回顾一下。 首先,在ES5中,我们所有的变量都是通过关键字var来定义的。...

JandenMa
今天
2
0
arts-week1

Algorithm 594. Longest Harmonious Subsequence - LeetCode 274. H-Index - LeetCode 219. Contains Duplicate II - LeetCode 217. Contains Duplicate - LeetCode 438. Find All Anagrams ......

yysue
今天
2
0
NNS拍卖合约

前言 关于NNS的介绍,这里就不多做描述,相关的信息可以查看NNS的白皮书http://doc.neons.name/zh_CN/latest/nns_background.html。 首先nns中使用的竞价货币是sgas,关于sgas介绍可以戳htt...

红烧飞鱼
今天
1
0
Java IO类库之管道流PipeInputStream与PipeOutputStream

一、java管道流介绍 在java多线程通信中管道通信是一种重要的通信方式,在java中我们通过配套使用管道输出流PipedOutputStream和管道输入流PipedInputStream完成线程间通信。多线程管道通信的...

老韭菜
今天
1
0
AB 压力测试

Ubuntu 安装AB apapt-get install apache2-utils 使用AB 压力测试 -c 并发数 -n请求总数 ab -c 3000 -n 10000 http://localhost/test/index.php AB只能测试localhost 返回结果 This is Apac......

xiawet
今天
0
0
用Python绘制红楼梦词云图,竟然发现了这个!

Python在数据分析中越来越受欢迎,已经达到了统计学家对R的喜爱程度,Python的拥护者们当然不会落后于R,开发了一个个好玩的数据分析工具,下面我们来看看如何使用Python,来读红楼梦,绘制小...

猫咪编程
今天
1
0
Java中 发出请求获取别人的数据(阿里云 查询IP归属地)

1.效果 调用阿里云的接口 去定位IP地址 2. 代码 /** * 1. Java中远程调用方法 * http://localhost:8080/mavenssm20180519/invokingUrl.action * @Title: invokingUrl * @Description: * @ret......

Lucky_Me
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部