草庐IT

stopping-runnable-ThreadPoolExecu

全部标签

java - 在运行另一个 Runnable 之前等待 Runnable 完成

我有一个带有主选项卡Activity的Android应用,以及各个选项卡中的多个Activity。在我的主要Activity的onCreate()中,我有一个创建列表的可运行文件,在各个Activity中,我使用了这个列表。在单个Activity的onCreate()中,我还有对列表进行操作的Runnables。但是,我需要这些Runnable仅在主选项卡Activity的Runnable完成创建列表时运行,否则我会得到一个空列表。我试图找到一种优雅的方式来做到这一点。现在,在我的主要Activity的Runnable中,我正在设置一个全局boolean变量isDone,而在我的个人A

android - MediaRecorder.stop() 卡在 Android 4.0 (ICS)

在我的视频捕获Activity中调用stop()时,有时,软件会挂起并且不会恢复正常。只有通过点击“返回”触发ANR才能让我终止Activity。在日志中,我看到以下行一遍又一遍地重复:W/CameraSource(YYYYY):Timedoutwaitingforincomingcameravideoframes:XXXXXXus还有其他人看到过这种行为吗?有什么解决方法吗? 最佳答案 我们也为这个问题苦苦挣扎了很长时间。我们刚刚从android开发者那里复制了代码site用于捕获视频,但在调用mediarecorder.stop

android - RecyclerView 在使用 Runnable 从 Handler 使用 notifyItemChanged 时崩溃 [IllegalArgumentException]

我使用RecyclerView作为列表来显示可以下载的歌曲。每个项目的View中都有ProgressBar。当下载开始时,我使用Handler通知每个项目更新ProgressBar以显示歌曲下载进度。Q1.IsthisisacorrectwaytodoitorIsthereanyotherwaytodoitmoreappropriately.Q2.RecyclerViewgetscrashedwhenweuseadapter.notifyItemChanged(position);toupdatethecontentofsingleitem.ItiscalledfromaHandler

android - 使用 Runnable 和 postDelayed 更新 UI 不适用于计时器应用程序

我已经查看了我可以找到的所有讨论和线程,但事实并非如此。我有一个简单的计时器来更新TextView(下面示例中的mTimeTextField)。mUpdateTimeTask运行方法正在正确执行(每秒),但UI/文本字段未更新。我有基于此处找到的信息的代码:http://android-developers.blogspot.com/2007/11/stitch-in-time.htmlhttp://developer.android.com/resources/articles/timed-ui-updates.html代码如下:packagecom.something.handle

Android - 如何将数据传递给runOnUiThread中的Runnable?

我需要更新一些UI并在UI线程内使用runOnUiThread现在UI的数据来自另一个线程,这里用data表示。如何将数据传递给Runnable,以便它们可用于更新UI?Android似乎不允许直接使用数据。有没有优雅的方法来做到这一点?publicvoidOnNewSensorData(Datadata){runOnUiThread(newRunnable(){publicvoidrun(){//usedata}});}我的解决方案是在可运行文件中创建一个字段privateDatasensordata,并为其分配数据。这仅适用于原始Datadata是最终的。publicvoidOnN

Android:如何停止 Runnable?

我试过这样:privateRunnablechangeColor=newRunnable(){privatebooleankillMe=false;publicvoidrun(){//someworkif(!killMe)color_changer.postDelayed(changeColor,150);}publicvoidkill(){killMe=true;}};但我无法访问kill()方法! 最佳答案 使用SDK提供的现有API来实现您自己的thread.kill()机制。在threadpool中管理您的线程创建,并使用F

Android 4.4.2 - java.lang.RuntimeException : Performing stop of activity that is not resumed

我在4.4.2设备上遇到此异常。无法在Android4.3或更低版本的设备上重现。设置是我有一个家庭Activity(支持ActionBarActivity的子类)。homeActivity检查一个bool标志,如果为true,则启动一个启动屏幕Activity(是的,理想情况下,启动在homeActivity之前,但假设我现在不能将其更改为以这种方式工作)。启动画面使用startActivityForResult启动,它从服务器下载一些配置选项,然后完成并将结果返回给主Activity。奇怪的是这在4.3及更低版本上运行良好,但在4.4设备上,我得到了上述异常(完整堆栈跟踪):02-

Android ADB 停止应用程序命令,例如 "force-stop"用于非 root 设备

我正在尝试停止Android2.3.7设备上的应用程序。但在这个版本的Android中,我不能使用“强制停止”命令。您知道在非root设备上关闭应用程序的其他方法吗? 最佳答案 第一种方式需要root使用kill:adbshellps=>将列出设备上所有正在运行的进程及其进程IDadbshellkill=>而不是使用应用程序的进程ID第二种方式在Eclipse中打开DDMS观点。在Devices查看你会发现所有正在运行的进程。选择流程并点击Stop.![在此处输入图片描述][1]第三种方式它只会杀死应用程序的后台进程。adbshel

android - 更新 GUI : Runnables vs Messages

要从其他线程更新GUI,主要有两种方法:将java.lang.Runnable与以下任一方法一起使用:Activity.runOnUiThread(Runnable)View.post(Runnable)View.postDelayed(Runnable,long)Handler.post(Runnable)使用android.os.Message:Handler.sendMessage(Message)/Handler.handleMessage(Message)您也可以使用AsyncTask,但我的问题更侧重于更新一个非常简单的组件的用例。让我们看看如何使用这两种方法来完成:使用R

android - RemotePlaybackClient,stop() 没有得到回调

我正在尝试写一个RemotePlaybackClient示例应用程序,部分原因是theonepublishedbyGooglecrashesaapt.我可以得到RemotePlaybackClient支持play(),并在Chromecast上播放视频。但是,当我调用stop()时,来停止视频的播放,而Chromecast确实会停止播放(显示黑屏,中间有一个转换图标),SessionActionCallback我传入stop()调用不会被onResult()调用:privatevoidstop(){logToTranscript(getActivity().getString(R.st