问题标签 [android-looper]
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.
android - 使用android中的计时器每10分钟跟踪一次Gps
我正在开发一个 android 应用程序,我正在使用每 10 分钟通过 GPS 跟踪位置的服务。但是当我将位置侦听器放在计时器任务中时,它会引发异常:
无法将代码放入尚未调用的线程中
looper.prepare()
。
有人对这个问题有任何见解吗?
android - Handlers、MessageQueue、Looper,它们都运行在 UI 线程上吗?
我正在尝试围绕线程进行处理,并且我知道我可以使用 aHandler
将消息/可运行文件发布到MessageQueue
,而后者又被 拾取Looper
并发送回Handler
处理。
如果我Handler
在我的活动中发布到 a ,那么、Activity
和都在 UI 线程上运行吗?如果没有,有人可以解释一下这一切是如何结合在一起的吗?:)Handler
MessageQueue
Looper
android - Looper 的目的是什么以及如何使用它?
我是安卓新手。我想知道这个Looper
类做什么以及如何使用它。我已经阅读了 Android Looper 类文档,但我无法完全理解它。我在很多地方都见过它,但无法理解它的目的。Looper
任何人都可以通过定义目的并在可能的情况下给出一个简单的例子来帮助我吗?
android - Android AsyncTask [无法在未调用 Looper.prepare() 的线程内创建处理程序]
我已经创建了一个AsyncTask
基于函数的图像上传。上传后,我在onPostExecute()
. 我阅读了一些 StackOverflow 的答案,Runnable
尽管实施了不同的解决方案,但我仍然一遍又一遍地收到错误。
我的代码:
我的日志猫:
在 zapl 的建议后编辑:
android - Android:无法在未调用 Looper.prepare() 的线程内创建处理程序
在我的应用程序中,我有一个服务类,它具有在执行某些操作时显示进度对话框的方法:
我希望在应用程序执行时会显示工作进度对话框,但是当我运行应用程序时出现此错误:
无法在尚未调用的线程内创建处理程序Looper.prepare()
我该如何解决?
编辑 :
java - HandlerThread.getLooper() 无限期阻塞
我正在尝试学习如何使用 HandlerThread 在自己的线程中运行 MediaPlayer。但我在第一步就失败了。我花了 2 天的时间痛苦地尝试理解 Java/Android 中的线程,并且真的需要一些帮助。(我已经阅读了无数的示例和 javadoc 页面,包括 Java 和 Android)并且我感到非常沮丧/愚蠢。
在下面的示例中,getLooper() 无限期地阻塞。我不知道为什么。请有人告诉我如何修改下面的代码来解决这个问题?
此外,关于如何发送导致 MediaPlayer 方法被调用(异步)的消息的示例将非常有价值,可能会为我节省一周的时间。
谢谢
android - HandlerThread 中的 NullPointerException
这个错误让我困惑了几个小时。我得到NullPointerException。问题是这个错误不一致。当我启动应用程序时会发生这种情况,但只是偶尔。所以我不确定是什么原因造成的。
对于错误日志的冗长问题,我深表歉意,但我找不到另一种提问方式。
错误日志如下:
发生这种情况的代码如下所示:
如果您想知道,错误日志中的第 74 行(更具体地说, thisat com.myproject.android.ImageDownloaderThread.queueImage(ImageDownloaderThread.java:74)
引用.obtainMessage(MESSAGE_DOWNLOAD, pos, 0, url)
了queueImage()
编辑
根据Loop的回答中的建议,调用时mHandler
为空queueImage()
。那么,如何保证在执行任何调用之前mHandler
被初始化?onLooperPrepared()
queueImage()
java - 在非活动类的静态方法中启动 Toast
我想在非 Activity 类的静态方法中启动 toast 消息。我读了很多关于这个的帖子,但我的情况有点复杂,特别是:
我有一个服务,在 OnStartCommand 中我以固定间隔调用另一个类的静态方法,在这个被调用的方法中,我想在某些特定情况下显示一个 toast 消息。
我还尝试创建一个扩展 Application 的支持类,在该类中,我需要在需要时获取应用程序上下文,但无事可做。
这是调用静态方法 AllInterfacesActived 的 Service 类中的方法:
在 OracoloBrain 类(非活动类)中,我有静态方法 AllInterfacesActived。我省略了有关此方法的代码,但在特定情况下,我想展示一个 Toast。我尝试创建另一个名为 MyApplication.java 的类:
因此,我尝试使用此上下文启动 toast,但无事可做。
android - 为没有回调的传感器创建循环器?
我正在做一个项目,希望简要地对 Android 传感器进行采样。在这里,简短地说是大约 200 到 400 毫秒(从字面上看,这大约是眨眼的时间)。
我想避免 Android 的异步性并使用ALooper_pollOnce
or ALooper_pollAll
。避免它简化了编程和审计,因为我可以使用梯形图而不是状态机来对系统建模。而且时间很短,在实践中不应该成为问题。
以下代码:
在 logcat 中导致以下错误:
如何创建允许轮询的循环器?或者,如果 looper 存在,我该如何修改它以允许轮询?
和:
下面,光传感器需要回调,因为它min_delay
是 0。它没有被添加到SensorList
. 其他传感器被添加到SensorList
.
输出是由这一行创建的:
android - 将相同的弯针与不同的线程相关联
在我的应用程序中,我想创建在单个队列上工作的多个线程。要创建一个队列,我知道我需要调用Looper.prepare()
.
我希望我创建的所有其他线程都应该与looper
我使用第一个线程创建的线程相关联,我该如何实现呢?