首页 > TAG信息列表 > android-handler

Android活动和服务通信:如何保持UI最新

我有一个活动A(不是主要活动),它启动一个服务S,该服务在后台执行一些操作,与此同时,应该对A的UI进行一些更改. 我们只说S计数从0到100,而A应该实时显示此计数.由于S的实际工作非常复杂且占用CPU,因此我不希望使用AsyncTask(实际上,“理想情况下,AsyncTasks应该用于短操作(最多几秒

java-Service中的处理程序和线程继续运行,而Service似乎已停止

我有一个使用Handler和Thread每5秒运行一些代码的服务.当我调用stopSelf()时,该服务似乎已停止,因为从设备Setting->;应用->运行它并不在那里.但是,尽管我已停止了该服务,但线程内的代码仍每5秒运行一次.即使服务已停止,为什么处理程序和线程仍然存在?服务停止后,如何停止处理程序和

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

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

什么时候发布在postDelayed中的可运行内容在Android上实际执行?

我在其中使用postDelayed和在主线程上执行的其他一些代码.我运行了几次,总是看到以下输出: 07-13 14:22:18.511 15376-15376/sample1.com.sample_1 D/MainActivity: i = 0 …. 07-13 14:22:18.601 15376-15376/sample1.com.sample_1 D/MainActivity: onResume 07-13 14:22:18

java-从IntentService调度递归处理程序以重试http调用

我正在尝试通过每次我的请求失败时使用handler.postDelayed(…)安排线程来实现指数补偿,以重试失败的http调用.问题是我是通过IntentService来执行此操作的,该IntentService在安排第一个线程后会终止,因此处理程序无法自行调用.我收到以下错误: java.lang.IllegalStateException: H

android-根据服务器响应创建多个处理程序并管理状态

当我的应用程序收到服务器的响应时,我想创建多个处理程序并且可运行. 处理器的最大数量为4,最小数量为1. 问题 实际上,我想将单元格屏幕划分为不同的部分,划分后,我需要在屏幕的所有部分中显示不同类型的数据.在这些部分中,每个部分都有多个要显示的项目. 例如!用户想将屏幕分为两部

java – 主线程上的View.postDelayed()和Handler.postDelayed()有什么区别?

根据Handler.postDelayed(Runnable r,long delayMillis)的文档: Causes the Runnable r to be added to the message queue, to be run after the specified amount of time elapses. The runnable will be run on the thread to which this handler is attached. 另一方面V

android – 对服务执行长时间运行的操作

我正在构建一个具有服务的应用程序.我知道所有应用程序组件都在同一个UI进程中运行,至少你在清单中指定它.所以为了避免ANR的消息,我有三种方法. >在清单中指定服务以在单独的进程中运行  android:process =“:remote”但是我已经阅读了一些StackOverflow的帖子 说它不是一个好主意

android – Job Scheduler与后台服务

我有一个应用程序,其功能A应该每分钟在后台运行.功能A是应用程序应该连接到数据库,读取一些数据然后获取设备的当前位置并根据它们检查条件,如果条件为真,它应该向用户发送状态栏通知,以便用户点击通知,将显示应用程序的用户界面并发生一些事情. 这个后台任务应该每分钟都运行一次,

如何从处理程序中删除所有回调?

我的子活动有一个Handler,由主Activity调用.这个Handler被子类用于postDelay一些Runnables,我无法管理它们.现在,在onStop事件中,我需要在完成Activity之前删除它们(不知何故我调用了finish(),但它仍然一次又一次地调用).无论如何要从处理程序中删除所有回调?解决方法:根据我的经验,

android – 在finish()之后多久将Runnables发布到Activity的Handler继续执行?

我有一个Handler链接到UI线程.正如所料,我可以将Run()运行到它并让它们在UI线程上执行.我还有一个按钮,按下该按钮将调用Activity上的finish(). finish()如何影响UI处理程序的消息队列?它会处理队列中的所有消息但不再接受吗?它会直言不讳地拒绝运行并立即终止(我有理由相信这不是真

java – Android:你能在DoInBackground中访问AsyncTask类成员吗?

在DoInBackground中运行AsyncTask类成员的方法是否安全?或者你需要使用处理程序? private class MyAsyncTask extends AsyncTask<Void, Void, Void> { Object mObjA = null: private MyAsyncTask(Object objA) { mObjA = objA } protected void doInBack

android – Nutiteq:ViewLabel:延迟按钮执行

我正在尝试使用包含三个按钮的自定义视图创建一个nutiteq ViewLabel. 我的代码和问题与此帖子nutiteq: Button resp. clickable Views not working in Custom ViewLabel非常相似. 通过提到的帖子的回答,我注意到视图的onTouchEvent-Method被调用,并且执行click的对象由处理程序发布

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

我有一个在单独进程中运行的服务.该服务在onCreate()方法中生成一个新线程.该线程将消息发送回服务. 如果我手动启动应用程序一切正常 – 处理程序在我的服务中收到消息.但在我的测试中,handleMessage()方法永远不会被调用. 如何修复我的测试以使handleMessage()方法有效? 谢谢! 服务

android – handler.postDelayed在IntentService的onHandleIntent方法中不起作用

final Handler handler = new Handler(); LOG.d("delay"); handler.postDelayed(new Runnable() { @Override public void run() { LOG.d("notify!"); //calling some methods here } }, 2000); “延迟”确实显示在日志中,但根本不显示.并且在run()中调

android – 这个Handler类应该是静态的,否则可能会发生泄漏(com.test.test3.ui.MainActivity.1)

我是android的新手,我尝试开发一个系统但是当我完成代码时,处理程序会显示此警告 下面显示我编辑后的代码,事件ontounch中的处理程序显示警告处理程序无法解析.我尝试将//忽略处理程序,我尝试运行应用程序并将其结果强制关闭. public class MainActivity extends Activity { pr

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

我有一个应用程序,例如使用多个HTTPRequests >获取会话ID >获取一些locationdata>获取现有类别>(…)等等 我创建了一个HTTPRequestHandler,它基本上管理每个请求的所有AsynTasks ……这很有效,但我的问题是,我不知道管理不同的AsynTasks的好方法.例如,您需要先获取SessionId任务,然

java – Android处理程序,执行post()不在ui线程中

从一开始我虽然Handler的方法post()和postDelayed()在与UI线程不同的线程中做了一些事情,我决定在它上面创建一个TCP Socket,但它不起作用. 我正在接收NetworkOnMainThreadException. 有没有办法执行不在UI线程中的post()和postDelayed()任务? public class ServerHandler extends