我目前有一个绑定的服务与我的主要活动。运行绑定服务和线程
我想知道是否有可能有一个线程运行在这个绑定服务,可以将整数传递给我的主要活动。此服务需要使用任何新的随机数字整数自动更新我的主要活动的文本视图,无需单击按钮。
我应该看看处理程序?或消息/捆绑?
任何帮助,将不胜感激!谢谢 !
我目前有一个绑定的服务与我的主要活动。运行绑定服务和线程
我想知道是否有可能有一个线程运行在这个绑定服务,可以将整数传递给我的主要活动。此服务需要使用任何新的随机数字整数自动更新我的主要活动的文本视图,无需单击按钮。
我应该看看处理程序?或消息/捆绑?
任何帮助,将不胜感激!谢谢 !
您可以定义一个接收器的MainActivity,您可以使用发送广播到接收器来更新UI ..这是一个简单的方法来做到这一点
在服务只要定义一个意图,把值到它像follwing
Intent i = new Intent();
i.setAction("RECEIVERACTION");
i.putExtra("data", "mydata");
sendBroadcast(i);
,并在您的活动
public static class Receiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String data = intent.getStringExtra("data");
textView.setText(data);
}
}
希望它可以帮助!
LocalBroadcastManager.getInstance(this).registerReceiver(new MainActivity.Receiver(),new IntentFilter(“RECEIVERACTION”));不要忘记在您的服务中添加上面的行 –
请通过API指南。具体
https://developer.android.com/guide/components/bound-services.html https://developer.android.com/guide/components/services.html
这应该给你一个不错的主意前进,也代码样本
嗨,我已经通过这两个文档,我仍然有点困惑,哪种方法是最好的?我只能看到Messenger吗? –
是的,您可以按照文档中给出的代码示例并使用Messenger。 –
使用处理程序,你可以做到 –
是处理程序的正确方法吗?如果是这样,我如何将当前处理程序从主要活动传递给服务? –