问题标签 [android-handler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
914 浏览

android - 如何将服务绑定到正确的活动实例?

由于各种原因,我无法让我的应用程序正常工作。

设计概述:我的目标是一个具有两个按钮(连接、断开连接)和一个显示从连接接收到的数据的文本视图的活动。我编写了一个“MySocket”服务来处理 WebSocket 连接(Gottox 的 Java 实现),每当 tit 从服务器接收到某些内容时,该服务就会向活动发布一条消息,然后活动将该数据附加到 textview 上。该服务必须从活动接收连接/断开连接提示,并能够将消息传递给活动。MySocket 还需要作为前台服务运行,以便无限期地保持连接,并向用户提供粘性通知。

我在各个地方都遇到了重大问题。首先,我注意到我可以启动另一个活动实例,而原始实例仍在更新中。android:launchMode="singleInstance"> 我通过在清单中指定来解决这个问题。我遇到的问题是,当活动被销毁并创建新活动时,服务继续发布更新,但重点活动没有收到它们。如果原始活动被破坏并且服务处理程序没有更新,那么一旦活动被破坏,它肯定会抛出空指针异常,但应用程序继续运行。然后我尝试unbindService(mConnection)在我的 onDestroy 方法中运行,但这抛出了java.lang.IllegalArgumentException: Service not registered:The service is messing something这应该是重点活动,但似乎没有收到它。我怀疑我的前台服务执行不力是罪魁祸首,但我真的不知道。

有问题的两个类很长,所以我删除了 Logcat 行、全局变量和一些我确定是不相关的方法。我意识到架构是可怕的,但这已经接近我的工作了。如果代码太可怕而无法阅读,我很乐意有人提出替代结构,只要它达到预期的结果。

活动类:

和 MySocket 类:

0 投票
1 回答
323 浏览

android - Android 2.2 的操作栏,处理程序未通过 UI 更新

我正在尝试抽象并创建一个操作栏(适用于 Android 2.2)。因此我自己写出来。由于某种原因,我无法让 HomeScreen 更新操作栏。这可能不是处理程序问题,比我猜的更基本。

我的类图就像 IBar (interface) ->implementedby-> ActionBarActivity (abstract class) ->extendedby-> HomeScreen 使用类God 公共静态方法。

Only relevant pieces of code below

ActionBarActivity,被我所有的 Activity 使用。

HomeScreen 扩展了 ActionBarActivity

神级,公静。

操作栏上的图像按钮

编辑:我在调试器下运行了这个,我执行到了 --->>> 行。这意味着我的 connection.setImageDrawable 被调用,但由于某种原因没有显示在我的 UI 上。我在这里错过了一些非常基本的东西。

0 投票
2 回答
4389 浏览

android - 在android中销毁Runnable

我正在使用以下代码访问 url:

我观察到,如果服务器没有启动,如果我点击后退按钮,应用程序需要很长时间才能正确关闭。无论如何我可以加快退出程序。

0 投票
3 回答
519 浏览

android - 完成从 url 下载图像后如何启动意图?

我需要在完成从 url 下载图像后开始我的意图,而不需要应用程序本身的用户采取任何行动。

这是我的活动,它首先会下载图像,然后会启动意图。

MyAsnyc 做得很好并且可以正确下载图像,但是代码的第二部分在下载图像时启动了意图,因此图像将被损坏,从而导致异常。

一旦图像准备好并完成下载,如何使意图开始?

0 投票
2 回答
2834 浏览

android - Android Handler.getLooper() 返回 null

我有以下问题。我用 Looper 实现了我的线程。

}

我想做以下事情:

其中 lm 是 LocationManager。从我的日志和测试中,我可以说locationThread.handler.getLooper()返回 null 而不是 Looper。

我不知道为什么它是空的。我试图打电话给locationThread.isAlive()返回true。我也试图得到locationThread.handler;我知道不为空的。我也做了很多谷歌搜索,但我没有找到比文档更多的东西。

非常感谢您的回答。

0 投票
2 回答
516 浏览

android - Android 处理程序是否使应用程序保持活力?

我有一些我想要执行的定期处理。我是这样设置的:

我有一些问题:

  • 当应用程序在后台时,这些处理程序会触发吗?(如果没有,当应用程序返回前台时是否会触发任何过期的处理程序?)
  • 这些排队的消息会让应用程序“活着”吗?也就是说,这些排队消息的存在是否会阻止 Android 杀死应用程序,即使所有活动都消失了?
0 投票
2 回答
1636 浏览

android - 多个处理程序可重用代码

有人可以建议在一个活动中使用两个不同的处理程序的替代方法,或者让我知道这种方法可以吗?

详细信息:我正在开发一些用于 Microchips ADK Android 入门套件的代码。一切都运行顺利,但是,我遇到了一个问题,即代码中运行了两个不同的处理程序,它可以工作,但我注意到不建议这样做。我用来创建时间延迟的第一个处理程序,并使用 post 命令启动结果。第二个处理程序用于 Microchip 提供的示例代码,用于与 USB 附件框架文件进行通信。我更喜欢只修改 Microchip 代码而不是重写它。类似代码:

0 投票
0 回答
217 浏览

android - 从 trace.txt 修复 SoundManager.release ANR

我在调用 SoundPool.release() 时收到以下 ANR。这不是一致的缺陷,而是随机发生的。因此,复制它有点费时。有两种方法可以修复它,AsyncTask 或 Thread。我不认为我可以在这里使用处理程序,因为发布不应该在 UIThread 上运行。

我已经使用 Thread 修复了它

我做对了吗?

0 投票
2 回答
874 浏览

android - Handler (MessageQueue) 和 AsyncTask (SERIAL_EXECUTOR) 在性能方面有什么区别?

有几种方法可以在您的应用程序中异步获取数据。一个是a Handler,另一个是a AsyncTask。现在我已经使用了两者,并且想知道哪一个在某些任务中表现更好/更有效。

到目前为止,我主要用于AsyncTasks获取 Web 数据,以及Handler从 获取数据ServicesActivities.

我想知道将Handler's 用于 Webdata 或使用 AsyncTasks 从Services. 最大的区别是什么?

0 投票
3 回答
1664 浏览

android - Android Spinner 上的多个 AsyncTasks 问题

我遇到了一些错误。我知道问题出在哪里,但我不知道如何解决。

我有 4 个微调器。每个微调器都关联一个异步任务。简而言之,当我在 spinner1 上选择一个项目时,执行填充 spinner2 的第二个 asynctask(所选项目作为参数添加到第二个 asynctask)以这种方式继续。

但是在第一个异步任务结束之前,spinner2 无法填充。在这种情况下,我遇到了错误。如何解决?如何让第一个任务完成,第二个任务工作?

这是代码;

第一项任务

第二个任务

onCreate()

编辑:我从我的网络服务获取数据并填充 spinner1。我将在哪里获得数据(spinner1 所选项目)?我在哪里填充 spinner2 执行第二个任务?