当用户导航到其他屏幕或应用程序时,从意图服务更新 UI的最佳方法是什么?
答案 0 :(得分:0)
在您的服务中:
使用LocalBroadCastManager。在您的服务onCreate中,设置广播公司:
在您的活动中:
在onCreate上创建一个监听器:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.copa);
receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// update Ui.
}
};
}
and register it in onStart:
@Override
protected void onStart() {
super.onStart();
LocalBroadcastManager.getInstance(this).registerReceiver((receiver),
new IntentFilter(COPAService.COPA_RESULT)
);
}
@Override
protected void onStop() {
LocalBroadcastManager.getInstance(this).unregisterReceiver(receiver);
super.onStop();
}
您可以从您的服务广播信息,并从活动中注册的接收者更新活动的Ui