无法将 'ActionProvider' 转换为 'MediaRouteActionProvider'

Cannot cast 'ActionProvider' to 'MediaRouteActionProvider'

我正在创建我的第一个 Chromecast 应用程序并遵循 this 教程 我的 onCreateOptionsMenu 方法有问题:

 public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    super.onCreateOptionsMenu(menu);
    getMenuInflater().inflate(R.menu.menu_main, menu);
    MenuItem mediaRouteMenuItem = menu.findItem(R.id.media_route_menu_item);
    MediaRouteActionProvider mediaRouteActionProvider =
            (MediaRouteActionProvider)MenuItemCompat.getActionProvider(mediaRouteMenuItem);

    mediaRouteActionProvider.setRouteSelector(mMediaRouteSelector);
    return true;
}

它抛出一个错误:

Incontrovertible types cannot cast 'android.support.v4.view.ActionProvider' to 'android.app.MediaRouteActionProvider'

我扩展了 AppCompatActivity 而不是 ActionBarActivity,我找不到解决这个问题的方法。

确保您从 MediaRouter 支持库导入 MediaRouter,而不是 android 框架本身。