cómo enviar datos del service (AID) a la actividad

Me gustaría desarrollar un post de get ussd de aplicación en mi aplicación y he descargado un código fuente simple de https://github.com/alaasalman/ussdinterceptor y me sirve. Pero no sé cómo enviar datos uri desde CDUSSDService y recibir en mi actividad. Aquí está la CDUSSDService class .

la class pública CDUSSDService extiende el Servicio {

  private String TAG = CDUSSDService.class.getSimpleName(); private boolean mActive = false; //we will only activate this "USSD listener" when we want it BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if(intent.getAction().equals(Intent.ACTION_INSERT)){ //activity wishes to listen to USSD returns, so activate this mActive = true; Log.d(TAG, "activate ussd listener"); } else if(intent.getAction().equals(Intent.ACTION_DELETE)){ mActive = false; Log.d(TAG, "deactivate ussd listener"); } } }; private final IExtendedNetworkService.Stub mBinder = new IExtendedNetworkService.Stub () { public void clearMmiString() throws RemoteException { Log.d(TAG, "called clear"); } public void setMmiString(String number) throws RemoteException { Log.d (TAG, "setMmiString:" + number); } public CharSequence getMmiRunningText() throws RemoteException { if(mActive == true){ return null; } return "USSD Running"; } public CharSequence getUserMessage(CharSequence text) throws RemoteException { Log.d(TAG, "get user message " + text); if(mActive == false){ //listener is still inactive, so return whatever we got Log.d(TAG, "inactive " + text); return text; } //listener is active, so broadcast data and suppress it from default behavior //build data to send with intent for activity, format URI as per RFC 2396 Uri ussdDataUri = new Uri.Builder() .scheme(getBaseContext().getString(R.string.uri_scheme)) .authority(getBaseContext().getString(R.string.uri_authority)) .path(getBaseContext().getString(R.string.uri_path)) .appendQueryParameter(getBaseContext().getString(R.string.uri_param_name), text.toString()) .build(); sendBroadcast(new Intent(Intent.ACTION_GET_CONTENT, ussdDataUri)); mActive = false; return null; } }; @Override public IBinder onBind(Intent intent) { Log.i(TAG, "called onbind"); //the insert/delete intents will be finetworking by activity to activate/deactivate listener since service cannot be stopped IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_INSERT); filter.addAction(Intent.ACTION_DELETE); filter.addDataScheme(getBaseContext().getString(R.string.uri_scheme)); filter.addDataAuthority(getBaseContext().getString(R.string.uri_authority), null); filter.addDataPath(getBaseContext().getString(R.string.uri_path), PatternMatcher.PATTERN_LITERAL); registerReceiver(receiver, filter); return mBinder; } } 

Soy novato de Android y no entiendo cómo modificar esto:

 sendBroadcast(new Intent(Intent.ACTION_GET_CONTENT, ussdDataUri)) 

en getUserMessage(CharSequence text) y recibir datos de intención en mi actividad. Por getUserMessage(CharSequence text) . Gracias.