Я получил отзывы пользователей о том, что кнопка приведения не будет отображаться.
Сначала я подумал, что проблема может заключаться в том, что мое приложение не было опубликовано должным образом, поскольку я был единственным, кто мог видеть кнопку.
После нескольких тестов приложение приемника приведения и устройство приведения, похоже, не являются проблемой. Я подумал, что это может быть проблемой совместимости, поскольку кнопка не будет отображаться для устройств, работающих с api> = 26, но будет API 24.
Обновление моих реализаций и моего API с 24 до 27 target не решает проблему.
compileSdkVersion 27
defaultConfig {
applicationId 'AppId'
minSdkVersion 16
targetSdkVersion 27
versionCode 2
versionName '1.1'
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
Вот мои зависимости:
dependencies {
implementation 'com.github.dmytrodanylyk.shadow-layout:library:1.0.3'
implementation 'com.github.medyo:fancybuttons:1.8.4'
implementation 'com.pes.materialcolorpicker:library:1.2.0'
implementation fileTree(include: ['*.jar'], dir: 'libs')
//implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
implementation 'com.google.firebase:firebase-core:15.0.0'
testImplementation 'junit:junit:4.12'
implementation 'com.google.android.gms:play-services-cast-framework:15.0.1'
implementation 'com.android.support:mediarouter-v7:27.1.1'
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:recyclerview-v7:27.1.1'
implementation 'com.android.support:support-v4:27.1.1'
implementation 'com.sofakingforever.libraries:iconpack:0.0.7@aar'
}
Примечание: у firebase не самая высокая версия, потому что gms и firebase должны быть одной и той же версии.
У меня точно такая же проблема при использовании примера приложения "Cast Hello World" из Документация Cast . Он работает на API 24, но не выше.
Вот мой Options.java:
public class Options implements OptionsProvider {
@Override
public CastOptions getCastOptions(Context context) {
return new CastOptions.Builder()
.setReceiverApplicationId(context.getString(R.string.cast_app_id))
.build();
}
@Override
public List<SessionProvider> getAdditionalSessionProviders(Context context) {
return null;
}
}
Вот мое меню:
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.main, menu);
// Setup the menu item for connecting to cast devices
CastButtonFactory.setUpMediaRouteButton(this, menu, R.id.media_route_menu_item);
return true;
}
Пожалуйста, помогите.