我正在学习Android
。我做了一个简单的Activity
,然后在Activity
中启动Service
,做一些高网络操作,现在我想当高网络负载调用完成时,然后我想更新到我的Activity
。
是否可以从Service
更新Activity
?
这是从一个现在已经贬值的名为DataDroid的库中获取和修改的代码,但它与您正在尝试做的事情相关。
private final class RequestReceiver extends ResultReceiver {
RequestReceiver() {
super(new Handler(Looper.getMainLooper()));
}
@Override
public void onReceiveResult(int resultCode, Bundle resultData) {
/*
* Depending on how you implement this either update activity from here
* or instantiate it with an interface that your activity implements and
* call that here.
*/
}
}
创建如下服务:
RequestReceiver requestReceiver = new RequestReceiver();
Intent i = new Intent(mContext, Service);
i.putExtra(RequestService.INTENT_EXTRA_RECEIVER, requestReceiver);
mContext.startService(i);
您也可以使用前面提到的库并修改它以适合您当前的用例,或者使用许多其他可用的类似库之一。