问题标签 [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.
android - 在同一个类中将 Handler 与 Async Task 一起使用是否正确?
如您所知,Android 开发指南中有一个很好的可下载示例,名为“Location Aware”。
我对用这段代码编写的处理程序有疑问。在同一个类中将 Handler 与 Async Task 一起使用是否正确?此代码是否根据 Android 标准正确编写?(顺便说一句,如果修复了一些错误,这个项目可以正常工作。)
异步任务参考:http: //developer.android.com/reference/android/os/AsyncTask.html
android - 如何在处理程序中显示 DialogFragment?
如果网络通信线程出现问题,我想向用户显示一条消息。
出于这个原因,有必要显示来自处理程序的对话框。
这是正确的方法吗?,因为我没有找到方法,如何在处理程序类中获取 FragmentManager。
android - 应用内购买问题
在我的最新应用上工作,我正在实施应用内购买。
我在网上寻找了很好的教程,并从 Bundell 找到了一个。
我检查了很多次代码,但我不断收到错误消息。看起来像这样:
这是一个 nullpointerException 但我不知道发生了什么。我使用此代码进行应用内购买:
你看我有一个按钮,当点击它会完成活动。每次我完成活动时都会收到此错误....
当 onDestroy 被调用时,事情就变糟了。我认为这与 stopService() 方法有关。
该方法如下所示:
拜托你们..你能给我提示/指针或只是一个解释吗?
编辑
好的...完成了...我已删除 onDestroy 并将 stopService 复制到完成方法之前...获取另一个 nullpointerexception ..有点相同:
android - 片段内的Android Resources$NotFoundException
我已经建立了一个带有 swipeview 的音乐播放器项目(2 个片段)。一个片段有开始按钮,当我点击开始按钮时,另一个片段显示歌曲的元数据信息,还有一个搜索栏。我的问题是在播放歌曲时通过歌曲获取当前时间。
片段的代码如下所示:
此代码工作正常。但是当我想显示歌曲的当前时间(或歌曲进度的时间)时,我将代码songDuration.setText(currentTime);
放在 run() 方法中,seekBar.setProgress(currentTime);
然后得到以下错误消息:
任何人的想法或解决方案的建议?提前谢谢
编辑1:
大家好,这是错误消息,当我更改代码currentDuration.setText(currentTime);
时currentDuration.setText("" + currentTime);
,currentDuration.setText(Integer.toString(currentTime));
错误消息是:
我不认为,线路currentDuration.setText(currentTime);
是问题。我应该实现一个处理程序或类似的东西吗?
编辑2:
没人知道吗?:/
android - 全局获取wakelock和在handler.postDelayed()块中定义的setResult()时不调用onActivityResult()
我有一些在屏幕打开时执行的代码,但是当我关闭屏幕电源时,执行中有一些问题(即使在全局获取 Wakelock 之后)。我有一个获取唤醒锁并调用活动的服务 - ExecuteScript 使用以下代码:
执行脚本.java:
在我的 ScriptActivity(调用 Service 并执行需要 30 秒的操作)中。但是,在我的情况下没有调用 onActivityResult() 。我不确定为什么会发生这种情况。请帮我。
我在 handler.postDelayed() 块中定义了 setResult()。我有如下代码:
ScriptActivity.java
更新:使用绑定服务也不起作用。对此有什么想法吗?
android - 在服务上执行长时间运行的操作
我正在构建一个具有服务的应用程序。我知道所有应用程序组件都运行在同一个 UI 进程中,至少您在清单中指定了它。因此,为了避免 ANR 的消息,我有三种方法。
在清单中指定服务以在单独的进程中运行,例如 android:process=":remote" 但我读过一些 StackOverflow 的帖子
说这不是一个好主意,因为它消耗大量电池和 CPU 处理。我真的很尊重,因为这些帖子来自受信任的人。使用 IntentService。这可能是一个很好的出路。但即使活动不可见,我也需要运行我的服务。因为我需要该服务不断检查来自其他用户的新消息的 Web 服务并通过通知通知。可以使用 IntentService 吗?这是一个优雅的解决方案。
使用本地服务。只需从清单文件中删除 android:process=":remote" 属性。但我得到一些 ...OnMainThreadException 错误。这意味着我需要创建一个特殊的线程来执行那些长时间运行的操作或使用 AsyncTask,
也许还有其他方法可以做到这一点。请让我知道,如何在服务上执行长时间运行的操作。真的是势在必行。
谢谢。
android - 如何从服务调用活动中的方法
有一种服务可以监听一些声音。如果语音与字符串匹配,则会在服务对象中调用某个方法。
这就是我在活动中启动服务的方式:
从这个服务方法中,我如何调用驻留在活动对象中的方法?我不想从活动访问到服务,而是从服务到活动。我已经阅读了有关处理程序和广播者的信息,但找不到/理解任何示例。有任何想法吗?
android - 我应该在销毁活动时手动关闭我的应用程序创建的 HandlerThreads 吗?
我的应用程序由单个Activity
. 在这个活动中,我创建了多个HandlerThread
在循环中运行以执行套接字阻塞操作的 s。
目前,我HandlerThread
在Activity.onDestroy()
.
有时,当我打开我的应用程序,关闭它并重新启动它时,它会崩溃(很多时候是由于将消息发布到未运行的处理程序线程)。
我的问题是:当我关闭我的应用程序时,正确的关闭方式是什么?HandlerThread
(请注意,这些线程可能会阻塞套接字操作)。
编辑:更多信息: 我有一个在 onCreate 中启动的处理程序线程池(当我第一次启动我的应用程序时没问题)。
每个处理程序可运行循环都用一个
陈述。
close 方法删除所有挂起的消息和可运行项,并向处理程序发布一条消息,这将导致他调用它的looper.quit()
. 这样,如果当前的处理程序线程被 IO 操作阻塞,只有当它完成它才会退出()。
android - 从服务发送消息到活动
我有一个服务,我尝试像这样向我的主要活动发送消息:
如何在我的 Activity 中获取此消息数据?
android - 当视图出现时创建计时器(处理程序)并在视图消失时停止它
我已经开发 iOS 应用程序很长一段时间了,现在我已经切换到 android。我有一个要求,当视图出现(onResume)时我必须启动计时器(在 Android 中,我需要使用处理程序)并在视图消失(onPause)时使计时器无效(停止处理程序)。我能够创建可运行的处理程序,但无法停止它。我的代码是:
现在,当视图消失时,我怎样才能停止这个处理程序线程。如果它不是在 android 中执行计时器的正确方法,也请发表评论。