当前位置: 首页 > 知识库问答 >
问题:

尝试使用Context.SendorderedBroadcast时发生DeadObjectException

太叔岳
2023-03-14

我正在使用Context.SendorderedBroadcast方法发送广播,并在到达ResultReceiver之前检查是否有人收到了广播。

下面是一段代码:

context.sendOrderedBroadcast(intent, null, new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) { 
  // Do something if this broadcast was not handled by others.
}, null, Activity.RESULT_OK, null, null);

到目前为止,我只在搭载Android 2.1版本的摩托罗拉Defy手机上遇到过这种情况,但它也可能发生在其他手机上。

我在网上找不到任何关于它的参考资料,有人知道为什么会这样吗?谢谢!

共有1个答案

郎同化
2023-03-14

如果调用SendorderedBroadcast()的组件在广播循环返回到提供的BroadcastReceiver匿名子类实例之前被销毁,我可以看到这种情况。

 类似资料:
  • 我试图从部署在Jetty中的war中实现一个JSR356 websocket连接。 我将此作为指南:http://aredko.blogspot.com/2013/11/java-websockets-jsr-356-on-jetty91.html (我可以找到很多关于在嵌入式jetty服务器上基本使用JSR356的教程,但是没有关于在现有服务器中构建websocket连接的教程--有什么好的教程

  • 问题内容: 从cancel方法的文档中: (松散地说,如果此方法阻止执行一个或多个计划的执行,则返回true。) 当我执行此代码时: 出乎意料的是,调试语句将输出: 这表明取消应该完成。但是,当我重新获得窗口焦点(并尝试重新安排计时器)时,应用程序因以下错误而崩溃: 我不知道如何解决此问题,并且我已经浏览了其他类似的问题,但没有任何效果。有任何想法吗? 问题答案: 您 不能 重复使用timerta

  • 我正在尝试使用Jackson将对象序列化到JSON,以便字段名基于一种类型的字段。 我有和这个线程中的OP一样的问题: 然而,这并不奏效。 我正在使用Wildfly 10.1 Final null CustomSerializer类: > 将注释添加到object字段,因此我的Response类现在如下所示: 当我测试它时,我得到了以下json对象: 现在,我尝试了本博客中的建议,并在我的Resp

  • 问题内容: 遵循Android标签的任何人都可能对我很熟悉。我很难为我的高分实现SQLite数据库。这也是我第一次使用SQLite。 我正在尝试仅插入两个变量-int和long。我的方法无法正常工作。除了上面讨论的内容外,任何其他建议也应受到赞赏。 预先感谢您的帮助。 Highscores.java DatabaseHelper.java LogCat输出 问题答案: 在这行上,打开数据库: 这会

  • 问题内容: 我正在使用以下时间戳格式: 以下方法可以正常工作: 而且,当我使用该格式字符串传递时间戳时,它返回,例如: 然后,我需要再次从该字符串映射到时间戳,本质上是相反的操作。我知道我可以使用和及其方法,但是如果可能的话,我宁愿坚持使用样式格式。 我写了这段代码(相当hacky),它适用于某些格式,但不适用于特定格式: 在第二部分,它失败了。 堆栈跟踪: 有没有一种更简单的方法可以在不利用我的

  • 问题内容: 在Windows上安装了Docker,并额外安装了2个Oracle VM VirualBox和Kitematic。我在Windows 10 PC中禁用了Hyper-V。现在的问题是我无法从DockerHub下载任何Docker映像,甚至我都无法以如下方式运行命令 两端都显示以下错误。 尝试连接时发生错误:获取 http:// localhost:2375 / v1.21 / info