问题标签 [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 回答
2128 浏览

android - 在 Android 中被打包为 Intent 后从 Messenger 中检索 Handler

注意:以下所有代码均基于 C#/Mono/Xamarin.Android。

我有一个后台服务,它在某个时刻启动一个活动并将其传递给一个处理程序,包装在一个 Messenger 中:

当活动开始时,我想从意图中解开该处理程序,并在用户执行某些操作(例如单击按钮)时使用它将消息发送回服务。我尝试了明显的:

调试器告诉我它message.Binder是 Handler 类型,但转换失败。谷歌没有发现任何有用的东西。我可能做错了什么,不是吗?

编辑:天哪,我以某种方式设法忽略了该Messenger.Send()方法。显然,我应该使用它来向包装的 Handler 发送消息!

0 投票
3 回答
2029 浏览

android - 在 Handler 中执行所有计划的(postDelayed)runnables

我使用了一个处理程序,它发布了一些Runnablevia postDelayed(r, DELAY_TIME),但我需要Runnables在发布新的 via 之前执行所有操作postDelayed

任何好的想法如何尽可能简单地实现这一目标?

编辑:

我想要它基本上是这样的:

0 投票
2 回答
2343 浏览

java - 活动完成后线程会死吗?

如果我启动一个后台线程,如果在线程终止之前从完成()开始的活动会发生什么。线程也会终止还是会保持活动状态?

0 投票
1 回答
1048 浏览

java - 通过处理程序在活动中调用另一个活动函数不起作用

我想CountDownTimer从另一个活动开始。我使用处理程序来做到这一点,但它不起作用。我做错了哪一部分?这是我的代码:

activity1.java

activity2.java

为什么这不起作用?

0 投票
1 回答
304 浏览

java - 由于在方向更改之前线程未停止导致空指针错误

我有一个显示天气数据的片段,它运行一个后台线程,基本上只是在我的主 UI 中调用一个函数来检查我的预测是否仍然有效。此函数更新 UI,因此我使用 aHandler并将 a 发布Runnable到主线程,如下所示:

这很好用;问题是当我改变我的屏幕方向时。当前活动被破坏,如果线程正在运行,它会尝试将 a 发布Runnable到不再存在的 UI 线程。因此,我running在类中放置了一个成员变量,并在我的活动调用时UpdateThread设置 if 。但是,即使我已将 变量设置为 false,我的线程仍会尝试发布 a ,但现在为 null!它不应该走那么远,但它是!falseonPauseUpdateThread.runningRunnableHandler

我做错了吗?我的日志消息“要求线程停止”被打印出来,所以我知道它已经将运行设置为 false。

任何人都可以提供见解吗?

谢谢

0 投票
1 回答
1681 浏览

android - 如何从android中的单独类调用处理程序?

在我的应用程序中,我尝试设置一个超时函数,我无法 在单独的类中调用处理程序方法。

我的超时课程

主类 在主类中我以这种方式调用该方法,但它在运行时显示错误,

如何调用主类中的方法。有人知道请帮我解决这个问题。

0 投票
1 回答
33 浏览

android - 更新接口处理程序问题

所以我在我的 android 应用程序中有这些代码行,wifiScrollViewText是 String 类型,我设置为我想附加到 ViewText 的任何消息:wifiScrollViewText通过处理程序......readableNetmask在我的例子中是 255.255.255.0 ,readableIPAddress是 10.0。 0.11 ...如果我删除更新2,网络掩码将出现在文本视图上......但如果我添加更新2代码行,文本视图将显示IP两次而不是网络掩码然后IP地址。我认为解决方案是在启动第二个处理程序对象之前等待第一次更新完成!

可运行:

0 投票
3 回答
680 浏览

android - Android 上的多线程处理程序的最佳实践是什么?

我有一个应用程序,它使用了几个HTTPRequests例如

  • 获取会话 ID

  • 获取一些位置数据

  • 获取现有类别

  • (...) 还有更多

我创建了一个HTTPRequestHandler,它基本上管理AsynTasks每个请求的所有内容...这很好用,但我的问题是,我不知道管理不同的AsynTasks. 例如,您需要先获取SessionId Task才能启动GetSomeLocationData Task

所以在我的HTTPRequestHandler我有一个队列,它开始取决于AsyncTasks

然而,这工作正常,但问题是,(取决于连接),这个队列需要时间,用户可以启动其他AsynTasks失败,因为一些初始数据尚未加载。

我可以设置一些布尔值,isSessionIdLoaded或者可以阻止用户的 UI,但我想知道,是否有更好的解决方案?!

所以我的问题是:有没有办法将异步任务放入某种队列(ArrayList,Map..)中,将连续执行?

0 投票
1 回答
4237 浏览

android - 从 Android 后台服务问题获取当前位置

我想开发基于位置的提醒应用程序。因此,即使应用程序未运行,我也想使用 android 服务获取当前位置。但我没有这样做。我在 android 服务类中设置了计时器,但我不知道如何在服务类中获取当前位置。问题是什么 ?我遇到了这样的错误:

无法在未调用 looper.prepare() 的线程内创建处理程序

0 投票
1 回答
177 浏览

android - Android Handler更新界面报错

每次运行时,setText线路都会出错,我不知道为什么?

谢谢你的帮助。

在此处输入图像描述