title: Cast button not displaying
body: <p>I know its a quite common problem although searching through stackoverflow and <a href="http://developers.google.com/cast/docs/android_sender" rel="nofollow">android developers site</a> left me without whole picture. </p>
  
  <ol>
  <li>Is it necessary to <strong>register application</strong> in Google Cast SDK Developer Console? I don't need custom receiver so I can use <code>CastMediaControlIntent.DEFAULT_MEDIA_RECEIVER_APPLICATION_ID</code>, can I?</li>
  <li>If I register application and receive its ID but do <strong>NOT publish</strong> it, does it let me to use Google Cast features? </li>
  <li>Registering Devices. Do I need to register mobile phone's serial number or Chromecast's? Or both? </li>
  </ol>
  
  <p>I belive the problem lies there but still here's the code. Probably Cast Button doesn't show for some other reason.</p>
  
  <p><strong>Manifest</strong>:</p>
  
  <pre><code>...
      android:theme="@style/Theme.AppCompat"&gt;
  
      &lt;meta-data
          android:name="com.google.android.gms.version"
          android:value="@integer/google_play_services_version" /&gt;
  ...
  </code></pre>
  
  <p><strong>Media Router menu</strong>, <code>media_router.xml</code>:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto" &gt;
      &lt;item
          android:id="@+id/media_route_menu_item"
          android:title="@string/media_router_menu_title"
          app:actionProviderClass="android.support.v7.app.MediaRouteActionProvider"
          app:showAsAction="always"/&gt;
  &lt;/menu&gt;
  </code></pre>
  
  <p><strong>Graddle dependencies:</strong></p>
  
  <pre><code>compile 'com.android.support:appcompat-v7:22.0.0'
  compile 'com.android.support:mediarouter-v7:21.0.0'
  compile 'com.google.android.gms:play-services:7.3.0'
  </code></pre>
  
  <p><strong>buildMediaRouter()</strong> called in <code>onCreate()</code>:</p>
  
  <pre><code>private void buildMediaRouter(){
      mMediaRouter = MediaRouter.getInstance(getApplicationContext());
  
      // Create a route selector for the type of routes your app supports.
      mMediaRouteSelector = new MediaRouteSelector.Builder()
              .addControlCategory(MediaControlIntent.CATEGORY_LIVE_AUDIO)
              .addControlCategory(MediaControlIntent.CATEGORY_LIVE_VIDEO)
              .addControlCategory(MediaControlIntent.CATEGORY_REMOTE_PLAYBACK)
              //default app ID because I don't need custom Receiver
              .addControlCategory(CastMediaControlIntent.categoryForCast(CastMediaControlIntent.DEFAULT_MEDIA_RECEIVER_APPLICATION_ID))
              .build();
  }
  </code></pre>
  
  <p><strong>Creating options menu:</strong></p>
  
  <pre><code>@Override
  public boolean onCreateOptionsMenu(final Menu menu) {
      super.onCreateOptionsMenu(menu);
      // Inflate the menu and configure the media router action provider.
      getMenuInflater().inflate(R.menu.media_router, menu);
  
      // Attach the MediaRouteSelector to the menu item
      MenuItem mediaRouteMenuItem = menu.findItem(R.id.media_route_menu_item);
      MediaRouteActionProvider mediaRouteActionProvider =
              (MediaRouteActionProvider) MenuItemCompat.getActionProvider(
                      mediaRouteMenuItem);
      mediaRouteActionProvider.setRouteSelector(mMediaRouteSelector);
  
      return true;
  }
  </code></pre>
  
  <p>Appreciating any help. </p>