如何在 android 的选项菜单中为 chromecast 添加自定义投射按钮?
Posted
技术标签:
【中文标题】如何在 android 的选项菜单中为 chromecast 添加自定义投射按钮?【英文标题】:How to add the custom cast button in option menu in android for chromecast? 【发布时间】:2014-08-02 13:12:37 【问题描述】:我几乎完成了 Chromecast 集成,但我只需要在我的活动选项菜单中添加自定义投射按钮。怎么做?,将自定义转换按钮添加为菜单中的项目时出现空指针异常。
我的代码部分是:
public void onCreate(Bundle savedInstanceState)
mMediaRouter = MediaRouter.getInstance(getApplicationContext());
mMediaRouteSelector = new MediaRouteSelector.Builder()
.addControlCategory(CastMediaControlIntent.categoryForCast(APP_ID)).build();
mMediaRouteButton = (MediaRouteButton) findViewById(R.id.media_route_button);
mMediaRouterCallback = new MediaRouterCallback();
mCastListener = new CastListener();
mConnectionCallbacks = new ConnectionCallbacks();
mConnectionFailedListener = new ConnectionFailedListener();
// Set the MediaRouteButton selector for device discovery.
mMediaRouteButton.setRouteSelector(mMediaRouteSelector);
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/share"
android:title="Share"
android:icon="@drawable/ic_menu_share" />
<item android:id="@+id/feedback"
android:title="Feedback"
android:icon="@drawable/ic_menu_feedback" />
<item android:id="@+id/quit"
android:title="Quit"
android:icon="@drawable/ic_menu_close_clear_cancel" />
<android.support.v7.app.MediaRouteButton
android:id="@+id/media_route_button"
android:layout_
android:layout_
android:mediaRouteTypes="user"
android:visibility="gone" />
</menu>
【问题讨论】:
【参考方案1】:对于 MediaRouteButton,您的活动需要扩展 FragmentActivity
【讨论】:
感谢您的回复,我已经扩展了 FragmentActivity 但仍然出现 mMediaRouteButton 的空指针异常 看看这个示例应用程序,了解如何正确添加按钮:github.com/googlecast/MediaRouter-Cast-Button-android 我已经查看了他们在布局视图中分别使用投射按钮的位置,但我只需要在选项菜单中添加投射按钮作为项目之一,所以请给出一些想法。 Cast Design Checklist 要求 Cast 按钮显示在操作栏的顶层。 是的,我已经看到了该清单,并且每个人都主要显示在操作栏上。那么是否有可能在选项菜单中显示自定义投射按钮?以上是关于如何在 android 的选项菜单中为 chromecast 添加自定义投射按钮?的主要内容,如果未能解决你的问题,请参考以下文章