android-handler相关内容

Android在片段和服务之间发送消息

我有一个带有按钮的片段.当单击时,它告诉服务开始轮询传感器,然后将传感器数据插入后台线程的数据库中.当再次按下按钮时,服务将停止.当按下“停止"按钮时,执行者队列中仍可能有一些任务正在插入到数据库中,因此在此期间,我想显示一个进度对话框,并在清除整个队列后将其关闭.带有按钮的片段如下所示: public class StartFragment extends Fragment impleme ..

在自定义视图中延迟时间重复执行任务

问题重复执行某项任务有时间延迟吗?会谈关于活动中重复的任务.在这种情况下,票数最高的答案看起来不错.我试图在完全自定义的EditText中使光标闪烁.我尝试从Android TextView 和 Editor 代码,但我什么都没眨眼. 以下是我正在尝试上班的一些当前代码: private boolean shouldBlink() { if (!mCursorVisible | ..
发布时间:2020-08-25 19:15:10 移动开发

Android AsyncTask [无法在尚未调用Looper.prepare()的线程内创建处理程序

我已经基于函数创建了图像上传AsyncTask.上传后,我在onPostExecute()上收到此错误.我在Runnable上阅读了一些StackOverflow答案,但是尽管实施了不同的解决方案,但我还是一遍又一遍地收到错误消息. 我的代码: class uploadFile extends AsyncTask { privat ..

为什么在Android中使用HandlerThread

在android中,如果我不使用HandlerThread(将其Looper传递给Handler),则可以使用Handler来发布/处理消息,这是否意味着在这种情况下Handler使用MainThread(UI线程)的Looper? 如果Handler使用MainThread的Looper将会得到什么结果?可能导致mainThread被阻止? 解决方案 如果您想一次执行一个后台任务, ..
发布时间:2020-07-16 20:28:35 移动开发

android-如何将音频文件延迟几秒钟

我试图弄清楚如何将音频文件延迟约15秒.音频文件的时长为5秒,声音效果为"5,4,3,2,1 go!",倒数是从20开始的,因此应在15秒后开始播放.我听说我可以使用处理程序来执行此操作,但是我不知道如何在代码中实现它,所以在这里,非常感谢您的帮助! 我按照以下方式进行了编辑,但是现在播放器根本无法启动,这是新代码: public class WorkoutGymEasy1 exten ..

如何在Android Studio中正确使用postDelayed()?

我有一个countDownTimer,如果用户在12秒内未按下gameButton,我希望调用gameOver方法.问题我要么在countDownTimer为12时获得即时调用的游戏函数,要么计时器一直在递减计数.因此,我尝试使用postDelayed()方法给用户一秒钟的时间来按下按钮,并让countDownTimer继续,但是由于我的代码是正确的,所以无论如何游戏都停止在12点. imp ..
发布时间:2020-06-17 19:23:03 移动开发

AlarmManager或处理程序

我有特定的情况,每10-60分钟一次 ping服务器(仍然取决于),但仅在打开应用程序时。 创建此功能是为了通知会话仍处于打开状态,其中会话定义为从应用程序打开到应用程序关闭的时间段。我不必担心进程被杀死。 什么是更好使用的? AlarmManager 或 Handler .postDelayed()吗? 目标平台是android电视,所以可以想象情况是在观看时 我个人最初想到 ..
发布时间:2020-06-03 19:23:08 移动开发

作业调度程序与后台服务

我有一个具有功能A的应用,该应用应每分钟在后台运行。功能A是应用程序应连接到数据库,读取一些数据,然后获取设备的当前位置,并根据它们检查条件,如果条件为true,则应向用户发送状态栏通知,以便用户单击通知将显示应用程序的用户界面,并且会发生某些事情。 此后台任务应每分钟永久运行,无论该应用程序的使用,关闭或终止(例如向我们显示通知的Facebook或Whatsapp)不管它们是否在应用程序堆 ..

处理程序是否是线程,具有处理程序和线程的Looper的作用是什么?

处理程序是否是线程?如果是,我们如何从该Handler(线程)更新UI? 如果我们使用Looper概念,则有可能.在这种情况下,它是否适用于任何线程?我对这些线程,处理程序和循环程序非常困惑.有人可以举例说明吗? 处理程序是线程还是非线程?如果是,我们如何从该Handler(线程)更新UI. 如果我们使用Looper概念,这是可能的,在这种情况下,它是否适用于任何线程?我对此线程,处理 ..

Android:创建一个定期运行的后台线程并执行UI任务吗?

好的,所以我知道如何执行后台任务,我知道如何执行定期任务(使用后延迟和可运行的句柄),我也知道如何从后台线程(通过处理程序)执行UI任务,但我不是能够执行对UI线程执行某些操作的定期后台任务. 我试图在每分钟必须执行一次网络呼叫的情况下执行一些后台任务.通话结束后,根据输出,我必须更新UI.我试图做这样的事情 private void DoTask() { Thread ..
发布时间:2020-05-13 21:44:28 移动开发

Android线程/处理程序错误IllegalStateException:尚未发布指定的消息队列同步障碍标记

我想做什么 使用处理程序和后台线程每3秒更新一次UI线程上的TextView x 10次。 UI上的输出应该是“重复:1”开始,每3秒开始,它应该是++的数字。例如,“重复:1”在3秒后更新为“重复:2”,然后在3秒后更新为“重复:3”。 我是怎样的尝试这样做 我测试的第一个方法是使用带有Thread.sleep()的for循环来为每个导致第二次延迟环。在每个循环中,我调用sen ..
发布时间:2019-01-08 20:01:14 Java开发

Handler.handleMessage未在测试中调用,但在应用程序中调用

我有一个在单独进程中运行的服务。该服务在 onCreate()方法中生成一个新线程。该线程将消息发送回服务。 如果我手动启动应用程序一切正常 - 消息由 Handler 在我的服务中。但在我的测试 handleMessage()方法永远不会被调用。 如何修复我的测试以使 handleMessage()方法工作? 谢谢! 服务: 公共类MyService扩展服务{ ..