0

I am learning Android. I have made a simple Activity then in the Activity start the Service that do some high network operation now I want when high network load call complete then I want to update to my Activity.

Is it possible to update the Activity from the Service ?

Thanks in advance.

N Sharma
  • 33,489
  • 95
  • 256
  • 444

1 Answers1

1

This is code taken and modified from a now depreciated library called DataDroid but it is relevant to what you are attempting to do.

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. 
         */
    }
}

Create service with somethinglike this:

RequestReceiver requestReceiver = new RequestReceiver();

Intent i = new Intent(mContext, Service);
i.putExtra(RequestService.INTENT_EXTRA_RECEIVER, requestReceiver);
mContext.startService(i);

You could also just use the previously mentioned library and modify it to fit your current use case or use one of the many other similar libraries available.

Larry McKenzie
  • 3,253
  • 25
  • 22