 <p>The problem is with this line:</p> <pre><code>mReceiver = new ResultReceiver(new Handler()); </code></pre> <p>Replace it with this:</p> <pre><code>mReceiver = intent.getParcelableExtra(Constants.RECEIVER); </code></pre> <p>The problem is that you're creating a new ResultReceiver instead of using the one that is presumably passed in as an Intent extra from this code:</p> <pre><code>protected void startIntentService() { Intent intent = new Intent(this, FetchAddressIntentService.class); intent.putExtra(Constants.RECEIVER, mResultReceiver); intent.putExtra(Constants.LOCATION_DATA_EXTRA, mLastLocation); startService(intent); } </code></pre> <p>So, just use the one passed in as an extra in the Intent, and it should work.</p>