我创建了一个具有与活动绑定的意图服务的android应用。 我关注了this excellent article。
但是现在我想从IntentService发送数据以更新我的视图(我的意思是我的活动)。
上下文:我想创建一个简单的倒计时。 该服务例如每分钟或每秒将“时间”发送给活动。
如何将数据从IntentService发送到我的活动?
请在科特林... 谢谢!
答案 0 :(得分:0)
在Android中,有许多API允许我们将消息从服务发送到活动。我们应该使用哪种API取决于服务和活动是否在同一进程中运行。
如果它们在同一进程中运行,那么您有2个选项
如果它们在不同的进程中运行,那么您有3个选择
the VB.NET code:
Dim ev As DomEventArgs = GeckoWebBrowser1.Document.CreateEvent("KeyEvents")
Dim curInput As GeckoInputElement
curInput = GeckoWebBrowser1.Document.GetElementById("field1")
curInput.Focus()
nsIEventVar.InitKeyEvent(New nsAString("keypress"), True, False, GeckoWebBrowser1.Window.DomWindow, False, False, False, False, Keys.Enter, Keys.NumPad0)
nsIEventVar.InitKeyEvent(New nsAString("keyUp"), True, False,
GeckoWebBrowser1.Window.DomWindow, False, False, False, False, Keys.Up, Keys.NumPad0)
Xpcom.QueryInterface(Of nsIDOMEventTarget)(curInput.DomObject).DispatchEvent(nsIEventVar)
将按顺序在单个线程上处理消息。Handler
和Messenger
之间的区别是AIDL
可以在绑定程序线程上同时执行任务。