问题标签 [intentservice]
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 - 钛中的 android onHandleIntent() 等价物是什么
钛中是否有任何等效的 API 用于 android onHandleIntent()
?
android - 如何使用按钮杀死从 IntentService 创建的 TimerTask
我正在制作一个使用标准 HTTP get 获取命令的云服务。我使用服务(扩展类 IntentService 而不是服务)来保持同步。我在每 3 秒触发一次的 TimerTask 中进行检查。问题是,当用户返回活动以将其关闭时,如果他们愿意,他们会按下切换按钮。如何告诉 TimerTask(或运行定时器任务的 IntentService)停止和启动它?
服务本身在处理意图并创建任务后会被销毁,那么服务是否比 IntentService 更适合呢?即使是这样,关于停止和启动 TimerTask 的问题仍然存在。
这是意图服务的代码:
非常感谢您帮助我!
android - Android 中 Service、Web 和 Activity 之间来回通信
我阅读了大多数关于 SO 的问题和答案,我必须说,就我而言,我仍然不知道该走哪条路。有几种方法可以使用,但我无法确定哪一种最适合我的情况。
我有什么
我有一个从我的应用程序开始的服务。它检查用户的当前位置并使用读取的位置调用 Web 服务。这每 x 米发生一次。
我想得到什么
- 使用地图进行活动并显示来自服务的当前位置读数。这意味着我的 Activity 需要在读取的每个位置上得到通知。请记住,这仅在用户启动活动时使用,因此我认为从服务广播每个位置不是一个好主意。
- 我可以向服务询问其上次读取位置的活动。
- 正如我之前提到的,该服务读取位置并需要每隔几秒钟将其发送到 Web 服务器。最好的方法是什么?在服务中为每个 Web 服务调用创建一个新的 Thread() ?使用异步任务?有时我可能会收到一些额外的值作为响应,在这种情况下我需要从 web 服务启动一个活动。
说了这么多,你会推荐我用什么?这会是一个好方法吗:示例:使用消息传递在 Activity 和 Service 之间进行通信?
LE:我已经从 IntentService 切换到简单的 Service + 线程来向 Web 服务发送数据。我的 IntentService 实现启动并迅速销毁。大概是我做错了什么......
android - File Observer 无法通过意图服务工作
我找到了一个很棒的类来扩展抽象的 File Observer 类......
我在 IntentService 的 onCreate 中创建了三个观察者,如下所示:
不仅观察者不工作,而且 mkdir 功能也不工作。
有任何想法吗?谢谢!
android - IntentService 的 onStartCommand(..) 方法线程安全吗?
我有一个IntentService类,可以从复杂应用程序中的各个位置启动 - 活动、后台线程、其他服务。我想记录服务被调用的次数。我在我的 IntentService 类中使用一个私有 int 变量来跟踪它,我从我的onStartCommand(...)方法中递增它。
我突然想到,可以从各种异步线程调用 onStartCommand(...) 方法,这可能不是线程安全的解决方案。所以问题是,我是否需要将对该计数器变量的访问包装在同步块中,或者 onStartCommand(...) 的 IntentService 实现是否为我处理了这个?
作为说明,我知道我可以安全地从onHandleIntent(...)增加变量,但我需要计算实际请求而不是执行的意图。
android - 为什么我无法启动我的 IntentService?
我有两个相对简单的代码。一项主要活动和一项意向服务。
主要活动
意向服务
Logcat 说
我能做些什么来纠正这个问题?
android - 我的 onHandleIntent() 没有被调用?
我有两个文件。
IntentServiceTest1Activity.java
SimpleIntentService.java
通过 Log.d(),我可以看到即使服务已启动,也从未调用过 onHandleIntent。我的 Log.d 跟踪在 startService(msgIntent); 之后进行。并停在那里。没有显示来自 onHandleIntent 的 Log.d。怎么了?我该怎么做才能让它发挥作用?
谢谢!
android - 如何通过 Activity 的取消按钮强制 IntentService 立即停止?
我有一个从 Activity 启动的 IntentService,我希望能够使用 Activity 中的“取消”按钮立即从该 Activity 停止该服务。一旦按下“取消”按钮,我希望服务停止执行代码行。
我发现了许多与此类似的问题(即此处、此处、此处、此处),但没有好的答案。 Activity.stopService()
并立即Service.stopSelf()
执行该Service.onDestroy()
方法,然后在销毁服务之前让代码onHandleIntent()
一直完成。
由于显然没有保证立即终止服务线程的方法,我能找到的唯一推荐的解决方案(在这里)是在服务中有一个可以在onDestroy()
方法中切换的布尔成员变量,然后几乎每一行代码onHandleIntent()
包含在自己的“if”子句中,查看该变量。这是一种糟糕的代码编写方式。
有人知道在 IntentService 中执行此操作的更好方法吗?
android - Android中IntentService的多个实例
我使用上面的代码每 30 秒运行一次我的 IntentService。有时,一个服务进程需要超过 30 秒的时间,因此必须在前一个进程完成之前启动另一个进程。我想知道在这种情况下前一个会发生什么。它被搁置了吗?第二个要等前一个完成吗?
我的第二个问题是:我不希望他们互相等待。我希望两个服务同时运行。因此,无论前一个服务在做什么,下一个服务都应该启动。上面的代码是实现这一目标的正确方法吗?
android - 通过 adb 启动 intentservice 失败
当我尝试通过 adb 启动 IntentService 时,出现以下错误
当我启动正常的服务 ovre adb 时,一切正常。
无法通过 adb 启动意图服务的原因是什么?
}
问候西蒙