2017-02-20 8 views
0

アンドロイドアプリケーションのMedia-routerに問題があります。メディアルーターのアンドロイドAPIガイドに従っていますが、アプリケーションを実行するとツールバーにボタンが表示されません。MediaRouter android programming

public class MediaRouterPlaybackActivity extends AppCompatActivity { 
     private MediaRouteSelector mSelector; 
     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.miracast); 
      Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar); 
      setSupportActionBar(myToolbar); 
      // Create a route selector for the type of routes your app supports. 
      mSelector = new MediaRouteSelector.Builder() 
        // These are the framework-supported intents 
        .addControlCategory(MediaControlIntent.CATEGORY_REMOTE_PLAYBACK) 
        .build(); 
     } 

     @Override 
     public boolean onCreateOptionsMenu(Menu menu){ 
      super.onCreateOptionsMenu(menu); 
      // Inflate the menu and configure the media router action provider. 
      getMenuInflater().inflate(R.menu.mediarouter, menu); 
      // Attach the MediaRouteSelector to the menu item 
      MenuItem mediaRouteMenuItem = menu.findItem(R.id.media_route_menu_item); 
      MediaRouteActionProvider mediaRouteActionProvider = 
        (MediaRouteActionProvider) MenuItemCompat.getActionProvider(
          mediaRouteMenuItem); 
      // Attach the MediaRouteSelector that you built in onCreate() 
      mediaRouteActionProvider.setRouteSelector(mSelector); 
      // Return true to show the menu. 
      return true; 
     } 
    } 

これは、ツールバーのコードです:

<android.support.v7.widget.Toolbar 
     android:id="@+id/my_toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="#4696e5" 
     android:elevation="4dp" 
     android:theme="@style/ThemeOverlay.AppCompat.ActionBar" 
     app:popupTheme="@style/Theme.AppCompat" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="60dp" /> 

答えて

0

私は同じ問題を抱えていました。私の場合は、Chromecastやカスタムメディアルートなどのメディアレシーバが検出された場合にのみボタンが表示されるためです。ボタンを送信するデバイスがない場合は表示されません。

+0

あなたには、いくつかのヒットのテキストを表示したい場合は利用可能なルートが存在しない場合には、使用することができます 'MediaRouter#isRouteAvailable(android.support.v7.media.MediaRouteSelector、int型)' [リンク](HTTPS:/ /developer.android.com/reference/android/support/v7/media/MediaRouter.html#isRouteAvailable(android.support.v7.media.MediaRouteSelector、int)) – 0xcaff