title: Unable to push data to android wear (Emulator)
body: <p>I have been trying to push data to the android wear emulator. But all in vain. My listener on the emulator is not receiving any calls whatsoever. If anyone else has tried working on wear and pushing data to wear please HELP.</p>
  
  <p>This is what my receiver code looks like</p>
  
  <pre><code> private GoogleApiClient mGoogleApiClient;
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_qrcode_generation);
  
      mGoogleApiClient = new GoogleApiClient.Builder(this)
              .addApi(Wearable.API)
              .addConnectionCallbacks(this)
              .addOnConnectionFailedListener(this)
              .build();
  
      final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub);
      stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() {
          @Override
          public void onLayoutInflated(WatchViewStub stub) {
              ivQrImage = (ImageView) stub.findViewById(R.id.ivQRImage);
          }
      });
  }
  
  @Override
  public void onDataChanged(DataEventBuffer dataEvents) {
      for (DataEvent event : dataEvents) {
          if (event.getType() == DataEvent.TYPE_CHANGED &amp;&amp;
                  event.getDataItem().getUri().getPath().equals("/image")) {
              final DataMapItem dataMapItem = DataMapItem.fromDataItem(event.getDataItem());
              final Asset profileAsset = dataMapItem.getDataMap().getAsset("profileImage");
              final Bitmap bitmap = loadBitmapFromAsset(profileAsset);
              Log.d(TAG, ""+bitmap);
              if (null != bitmap) {
                  ivQrImage.setImageBitmap(bitmap);
                  bitmap.recycle();
              }
  
          }
      }
  }
  
  @Override
  protected void onStart() {
      super.onStart();
  
      mGoogleApiClient.connect();
  }
  
  @Override
  protected void onStop() {
      if (null != mGoogleApiClient &amp;&amp; mGoogleApiClient.isConnected()) {
          Wearable.DataApi.removeListener(mGoogleApiClient, this);
          mGoogleApiClient.disconnect();
      }
      super.onStop();
  }
  
  public Bitmap loadBitmapFromAsset(Asset asset) {
      if (asset == null) {
          throw new IllegalArgumentException("Asset must be non-null");
      }
      ConnectionResult result =
              mGoogleApiClient.blockingConnect(TIMEOUT_MS, TimeUnit.MILLISECONDS);
      if (!result.isSuccess()) {
          return null;
      }
      // convert asset into a file descriptor and block until it's ready
      InputStream assetInputStream = Wearable.DataApi.getFdForAsset(
              mGoogleApiClient, asset).await().getInputStream();
      mGoogleApiClient.disconnect();
  
      if (assetInputStream == null) {
          Log.w(TAG, "Requested an unknown Asset.");
          return null;
      }
      // decode the stream into a bitmap
      return BitmapFactory.decodeStream(assetInputStream);
  }
  
  @Override
  public void onConnectionFailed(ConnectionResult connectionResult) {
      Log.d(TAG,"Connection Failed");
  }
  
  @Override
  public void onConnected(Bundle bundle) {
      Wearable.DataApi.addListener(mGoogleApiClient, this);
      Wearable.MessageApi.addListener(mGoogleApiClient, this);
  }
  </code></pre>
  
  <p>This is how I am pushing</p>
  
  <pre><code>private void pushImageToWear() {
  
      Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.qr_code);
      Asset asset = createAssetFromBitmap(bitmap);
      PutDataMapRequest dataMap = PutDataMapRequest.create("/image");
      dataMap.getDataMap().putAsset("profileImage", asset);
      PutDataRequest request = dataMap.asPutDataRequest();
      PendingResult&lt;DataApi.DataItemResult&gt; pendingResult = Wearable.DataApi
              .putDataItem(mGoogleApiClient, request);
  
  }
  </code></pre>
  
  <p>I also have the following in my manifest for the Android Wear activity</p>
  
  <pre><code>&lt;activity
          android:name=".QRCodeReceptionActivity"
          android:label="@string/app_name"
          android:exported="true"
          android:allowEmbedded="true"
          android:taskAffinity=""
          android:theme="@android:style/Theme.DeviceDefault.Light"&gt;
          &lt;intent-filter&gt;
              &lt;action android:name="android.intent.action.MAIN" /&gt;
  
              &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
          &lt;/intent-filter&gt;
      &lt;/activity&gt;
  </code></pre>
  
  <p>P.S. There is nothing extraordinary which I am doing. Just followed the <a href="http://developer.android.com/training/wearables/data-layer/assets.html">tutorial</a> given on the developer site.</p>