我正在尝试将 Chromecast 功能添加到我的 Android 应用程序中。我一直在关注谷歌演员开发页面的代码实验室教程,我已经设法使用那里的测试应用程序让它工作。但是当我尝试将代码从测试应用程序复制到我自己的应用程序时,我可以选择连接到我的测试设备。但是一旦连接,它只会重置我的 Chromecast,然后再次断开连接。
这是我的 CastOptionProvider 类
public final class CastOptionsProvider implements OptionsProvider {
@Override
public CastOptions getCastOptions(Context context) {
return new CastOptions.Builder()
.setReceiverApplicationId(context.getString(R.string.app_id))
.build();
}
public List<SessionProvider> getAdditionalSessionProviders(Context context) {
return null;
}
}
这是我想要 Chromecast 支持的活动 xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="studios.p9p.harrop99.p9pdocumentaries.Actual_Genres.Taboo">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
活动java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_taboo);
setupActionBar();
mCastContext = CastContext.getSharedInstance(this);
}
private void setupActionBar() {
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle("Taboo");
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
private MenuItem mediaRouteMenuItem;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.browse, menu);
mediaRouteMenuItem = CastButtonFactory.setUpMediaRouteButton(getApplicationContext(), menu, R.id.media_route_menu_item);
return true;
}
我知道教程还没有完成,但是在教程的这一点上,我可以连接到我的测试铸造设备并且铸造标志出现在我的屏幕上。但在我自己的应用程序中,它会重置我的 Chromecast,但实际上并没有连接。我还有一个谷歌扬声器,在教程中它将提供连接到这个。它甚至没有显示在我的应用程序中。
这是我正在关注的教程的链接。
编辑
我需要定制接收器吗?如果是这样我将它上传到哪里?